<% If not INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "MSIE 5.5") > 0 Or INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "Mozilla/5") > 0 Or INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "MSIE 6") > 0 Then Response.Write "onload=""init()""" End If%>
Den funkar bara när man kommer med MSIE 5.5 inte de andra MSIE 6 och Mozilla/5
Sen en annan fråga finns det något lättare sätt att göra det på, för att få ner kodmängden?
<%
userAgent = Request.ServerVariables( "HTTP_USER_AGENT" )
IF INSTR( userAgent, "MSIE 5.5" ) > 0 THEN
Server.Execute("exclude/css_meny/meny_inc.txt")
ELSEIF INSTR( userAgent, "Mozilla/5" ) > 0 THEN
Server.Execute("exclude/css_meny/meny_inc.txt")
ELSEIF INSTR( userAgent, "MSIE 6" ) > 0 THEN
Server.Execute("exclude/css_meny/meny_inc.txt")
ELSE
Response.Write "<script language=""JavaScript"" src=""exclude/jslib/menu/dhtmllib.js""></script><script language=""JavaScript"" src=""exclude/jslib/menu/navbar.js""></script><script language=""JavaScript"" src=""exclude/jslib/menu/menu.js""></script>"
END IF
%>
Den ovanstående koden känner av vilken webbläsare man kommer med, för javascript menyn fungerar inte med NN 6 och MSIE 6 därför gör jag på detta sätt för den nya menyn funkar inte i gamla webbläsare.
till javascriptet behövs denna kodsnutten i BODY-taggen
onload="init()"
Och det ända sättet jag kom fram till var den kod jag har här
<% If not INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "MSIE 5.5") > 0 Or INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "Mozilla/5") > 0 Or INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "MSIE 6") > 0 Then Response.Write "onload=""init()""" End If%>
och det är för att skriva ut den kodsnutten onload="init()"
För jag får ett felmedelande när den nya menyn visas när onload="init()" ligger i body-taggen
Och min fråga var varför det bara funkar med MSIE 5.5 och inte de andra?
För den överst If-satsen funkar med menyväljaren.
Och om det går att göra på något bättre sätt.
IE6 verifieras inte den som NS4 ? så var det i varje fall för mej tills jag uppdaterade browscap.ini.
Har jag inte märkt av
Hoppas jag har gjort mig förstående vad jag vill ha
IE6 verifieras inte den som NS4 ? så var det i varje fall för mej tills jag uppdaterade browscap.ini.
Nej, absolut inte. Om man inte använder komponenten browscap förstås. Om du analyserar en sträng på detta sätt så har browscap.ini inte med saken att göra.
Method: varför din if-sats inte gör sitt jobb ordentligt kan jag inte svara på. Jag hade dock börjat med att kolla kontrollustkrifter med Netscape 6 / IE6.
<%
userAgent = Request.ServerVariables( "HTTP_USER_AGENT" )
IF INSTR( userAgent, "MSIE 5.5" ) > 0 THEN
Server.Execute("exclude/css_meny/meny_inc.txt")
ELSEIF INSTR( userAgent, "Mozilla/5" ) > 0 THEN
Server.Execute("exclude/css_meny/meny_inc.txt")
ELSEIF INSTR( userAgent, "MSIE 6" ) > 0 THEN
Server.Execute("exclude/css_meny/meny_inc.txt")
ELSE
Response.Write "<script language=""JavaScript"" src=""exclude/jslib/menu/dhtmllib.js""></script><script language=""JavaScript"" src=""exclude/jslib/menu/navbar.js""></script><script language=""JavaScript"" src=""exclude/jslib/menu/menu.js""></script>"
END IF
%>
Det är denna if-satsen det är fel på
<% If not INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "MSIE 5.5") > 0 Or INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "Mozilla/5") > 0 Or INSTR(Request.ServerVariables( "HTTP_USER_AGENT" ), "MSIE 6") > 0 Then Response.Write "onload=""init()""" End If%>
Så jag vet att den känner av rätt webbläsare på den första koden jag har