webForumDet fria alternativet

Välja med if-sats om NS 6 & 7?

JavaScript

5 svar · 202 visningar · startad av bigsky

Medlem sedan maj 2002821 inlägg
Frågan#1

Hur får man webbläsaren att t.ex. välja...

<style type="text/css">
#MainHeader { top: 0; left: 21; z-index: 1; position: absolute; visibility: hidden; }
</style>

... istället för...

<style type="text/css">
#MainHeader { top: 100; left: 32; z-index: 1; position: absolute; visibility: hidden; }
</style>

... om det är Netscape 6 & 7 vi talar om? Alltså hur omvandlar man följande if-sats till att arbeta efter exemplet ovan?

if(document.getElementById && navigator.appName == "Netscape"){ location.href="netscape6.html"; }

Medlem sedan dec. 20025 483 inlägg
#2

Du skulle kunna göra en funktion:

function isNav6Up(){
var uAgent = navigator.userAgent.toLowerCase();

if(document.getElementById && uAgent.indexOf("mozilla")!=-1 && uAgent.indexOf("opera")==-1 && uAgent.indexOf("compatible")==-1 && parseInt(navigator.appVersion)>=5)
     return true;
};

if(isNav6Up())
     location.href="netscape6.html";

:)

Medlem sedan maj 2002821 inlägg
#3

Men hur skulle den funktionen se ut om man vill välja css-elementen (som beskrivs i mitt första inlägg) istället för att skicka besökaren vidare till en annan sida?

Medlem sedan dec. 20025 483 inlägg
#4

Då kan man göra så här:

<script type="text/javascript">
<!--

var uAgent = navigator.userAgent.toLowerCase();

if(document.getElementById && uAgent.indexOf("mozilla")!=-1 && uAgent.indexOf("opera")==-1 && uAgent.indexOf("compatible")==-1 && parseInt(navigator.appVersion)>=5){
	document.writeln("<style type=\"text\/css\">");
	document.writeln("#MainHeader { top: 0; left: 21; z-index: 1; position: absolute; visibility: hidden; }");
	document.writeln("<\/style>");
}
else {
	document.writeln("<style type=\"text\/css\">");
	document.writeln("#MainHeader { top: 100; left: 32; z-index: 1; position: absolute; visibility: hidden; }");
	document.writeln("<\/style>");
}

//-->
</script>

:)

Medlem sedan maj 2002821 inlägg
#5

Och det som är i If-satsen gäller alltså bara för NS 6 + 7 medan Else gäller för alla andra webbläsare? Det är iaf så jag vill ha det.

Medlem sedan dec. 20025 483 inlägg
#6

Ja, det stämmer. Använd följande kod:

<script type="text/javascript">
<!--

var uAgent = navigator.userAgent.toLowerCase();

if(document.getElementById && uAgent.indexOf("mozilla")!=-1 && uAgent.indexOf("opera")==-1 && uAgent.indexOf("compatible")==-1 && navigator.product.toLowerCase()=="gecko" && parseInt(navigator.appVersion)>=5){
	document.writeln("<style type=\"text\/css\">");
	document.writeln("#MainHeader { top: 0; left: 21; z-index: 1; position: absolute; visibility: hidden; }");
	document.writeln("<\/style>");
}
else {
	document.writeln("<style type=\"text\/css\">");
	document.writeln("#MainHeader { top: 100; left: 32; z-index: 1; position: absolute; visibility: hidden; }");
	document.writeln("<\/style>");
}

//-->
</script>

:)

264 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)