webForumDet fria alternativet

browsercheck

JavaScript

8 svar · 379 visningar · startad av jensg

Medlem sedan nov. 200026 inlägg
Frågan#1

Hej

Jag hade en bra browsercheck innan, som kände av om Operaanvändare hade sin browser inställd på att indentifiera sig som IE4, 5, 6 eller Netscape 4,5 osv.

Den skickade användare av:

IE3 till: blocked.html

IE4,5,6 till: ie.html

NS 2,3,4 till: blocked.html

NS 5 till: ns.html

Opera till: blocked.html

Other till: blocked.html

Nu har jag blivit av med den :(
Någon här som har ett liknande javascript?

MVH jensg

Medlem sedan aug. 20039 340 inlägg
#2
 
// Denna kod innehåller fel. Se mitt inlägg nedan istället
if (window.sidebar)
  window.open("ns.html", "_top");
if (document.all && !document.opera)
  window.open("ie.html", "_top");
else
  window.open("blocked.html", "_top");

Här jag valt _top som target men det är ju förstås en smaksak. _self öppnar sidan som vanligt i ev frames, _top gör browserchecken även till en utmärkt framekiller.

Får jag f.ö. fråga vad det är som inte funkar i Opera? (Eftersom du vill skicka Opera till blocked)

Medlem sedan nov. 200026 inlägg
#3

Kommer verkligen användaren till respektive sida med hjälp av detta scriptet? Inte så vass på detta :)

Medlem sedan aug. 20039 340 inlägg
#4

Ja förutsatt att du laddat upp alla filer till samma katalog osv. Om t ex ns.html och ie.html ligger i en underkatalog som heter "filer" måste du lägga till filer/ innan filnamnet.

Men själva checken funkar som den ska om det var vad du menade.

Medlem sedan sep. 20021 655 inlägg
#5

nitro2k01 skrev:

 
if (window.sidebar)
[...]

Fast window.sidebar finns även i FireFox.
window.opera kan man kolla istället, om man inte vill inkludera Firefox i kontrollen.

Medlem sedan nov. 200026 inlägg
#6

Tack för era svar. Skrev detta scriptet innan. Kan ni kolla om det är några fel på det?

Mvh

<script>

if (( navigator.userAgent.indexOf("Opera") !=-1 ) && ( navigator.userAgent.indexOf("MSIE") !=-1)) {
document.write ("opera as msie");
}

if (( navigator.userAgent.indexOf("Opera") !=-1 ) && ( navigator.userAgent.indexOf("Mozilla/3") !=-1)) {
document.write ("opera as mozilla 3");
}

if (( navigator.userAgent.indexOf("Opera") !=-1 ) && ( navigator.userAgent.indexOf("Mozilla/4") !=-1)) {
document.write ("opera as mozilla 4");
}

if (( navigator.userAgent.indexOf("Opera") !=-1 ) && ( navigator.userAgent.indexOf("Mozilla/5") !=-1)) {
document.write ("opera as mozilla 5");
}

if (( navigator.userAgent.indexOf("Opera") !=-1 ) && ( navigator.appName == "Opera" )) {
document.write ("opera as opera");
}

if (( navigator.userAgent.indexOf("MSIE 4") !=-1 ) && ( navigator.userAgent.indexOf("Mozilla/4") !=-1)) {
document.write ("msie 4");
}

if (( navigator.userAgent.indexOf("MSIE 5") !=-1 ) && ( navigator.userAgent.indexOf("Mozilla/4") !=-1)) {
document.write ("msie 5");
}

if (( navigator.userAgent.indexOf("MSIE 6") !=-1 ) && ( navigator.userAgent.indexOf("Mozilla/4") !=-1)) {
document.write ("msie 6");
}

if (( navigator.userAgent.indexOf("Mozilla/4") !=-1 ) && ( navigator.appName == "Netscape" )) {
document.write ("netscape 4");
}

if (( navigator.userAgent.indexOf("Mozilla/5") !=-1 ) && ( navigator.appName == "Netscape" )) {
document.write ("moz 5");
}

else {
document.write ("unknown");
}

</script>

Medlem sedan aug. 20039 340 inlägg
#7

Ja, att det är onödigt långt.

Dectgap » Firefox är ju en version av NS5, så det bör väl inte vara nåt problem? Grejen med denna browsercheck är väl endast att inte lotsa in en besökare med browser som visar sidan på fel sätt?

Medlem sedan sep. 20021 655 inlägg
#8

nitro2k01 skrev:

Dectgap » Firefox är ju en version av NS5, så det bör väl inte vara nåt problem? Grejen med denna browsercheck är väl endast att inte lotsa in en besökare med browser som visar sidan på fel sätt?

Äsch, det var bara jag som inte läste tillräckligt noga.
Jag trodde att du använde window.sidebar för att skilja Opera från andra läsare. Det finns ju en typ av sidebar i Opera, så jag trodde att det var den du syftade på.

Och nu ser jag att du har använt document.opera..

Glöm mitt inlägg - och ja, jag vet att jag förtjänar en omgång smisk för att jag bara läste första raden i if-satsen.

Medlem sedan aug. 20039 340 inlägg
#9

My bad: window.opera ska det var...

 if (window.sidebar)
  window.open("ns.html", "_top");
if (document.all && !window.opera)
  window.open("ie.html", "_top");
else
  window.open("blocked.html", "_top");
258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)