webForumDet fria alternativet

Browser detection

4 svar · 270 visningar · startad av Jaar

JaarMedlem sedan juli 2001434 inlägg
#1

Har upptäckt att det är en massa scriptfel på min sida beroende på webläsare. Har provkört för IE och i viss mån Mozilla.

Det lilla script som ska browser detecta gör det för IE och NS.
Men hur är det med Opera och Mozilla?

Det som är specifikt för scriptet är hur lager ska skapas (med div eller layer) och hur de positioneras (med hjälp av mouse events)

Vad bör jag tänka på? Hur fungerar Opera/Mozilla/NS/Ie i förhållande till varandra? Opera trodde jag försökte efterlikna IE ganska mycket, men positioneringen försvinner helt där t.ex.

En grej som inet funkar i NS är denna också

<input type="image" src="img/sub.gif" value="-" name="sub" border="0" OnClick="return changeValue(this);">

Den vill inte avbryta submiten när jag returnerar false, vilken den borde göra, eller?

JojoxxMedlem sedan juni 20004 306 inlägg
#2

Objektmodellen enligt W3C's rekommendationer fungerar bra i samtliga av dessa 3 webbläsare av senare versioner. Elementet <layer> rekommenderade inte ens Netscape på version 4 tiden så det kan (bör) du lugnt byta ut mot div.

W3C-DOM kan du känna av ifall det stöds av den aktuella webbläsaren med:

if(document.getElementById){
//kod
}

Sedan kan det givetvis finnas buggar i specifika funktioner beroende på version av webbläsare.

Beträffande exemplet så är ett tips att använda onsubmit i <form>-elementet istället för onclick i <input>. Detta ifall du vill vara säker på eventet körs innan formuläret skickas.

JaarMedlem sedan juli 2001434 inlägg
#3

Tackar för din hjälp. Givetvis borde det ligga en OnSubmit() på formuläret...

En sak. OnClick="myFunction()" vill inte fungera över huvudtaget i NS4.x, men jag har bestämt för mig att det finns stöd för det?
Nån som har någon ref på vad som finns och inte finns i NS4.X ?

JojoxxMedlem sedan juni 20004 306 inlägg
#4

Ns4 har stöd för onClick men på väldigt få element.

Lösning:

<a href="#" onclick="changeValue(document.forms['formuläret']); return false;"><img src="img/sub.gif" border="0"></a>

(document.forms['formuläret'] för att få med en refferens till formuläret om du skulle behöva det).

nitro2k01Medlem sedan aug. 20037 630 inlägg
#5

Du kan med gott samvete skippa stöd för Netscape 4.x. Det finns väldigt få som fortfarande använder denna webbläsare. Eftersom NS4-kod skiljer så mycket från DOM-kod så är det svårt att få den att fungera plus att den troligen även skapar buggar för andra webbläsare.

Genererad på 365 ms · cache AV · v20260730165559-full.f96bc7eb