18. september 2000 - 10:54Der er
21 kommentarer og 2 løsninger
Script Redirect?
Hej! kan nogen hjælpe:
Hvordan laver jeg et Javascript redirect. Når siden loades i MSIE skal scriptet msie.js laodes, men hvis siden loades i Netscape skal scriptet Netscape.js loades
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Dette kan jeg godt nok ikke få til at virke. Jeg skal bruge det på en ASP-side. Kunne du måske give mig et eksempel på, hvordan jeg implementerer det i mit ASP dokument????
hmm - det er lidt uklart om du vil redirecte til en side - eller om du vil bruge en bestemt javascriptfil til dine scripts.
for vil du redirecte til en bestemt asp-side alt efter om brugeren bruger ie eller ns - så laves det bare med et javascript med en browserdetection á la
<script type=\"text/javascript\">
if (navigator.appName == \"Netscape\") { location.href=\"dinaspfilforns.asp\"; else location.href=\"dinaspfilforie.asp\"; } </script>
- hvis det er fordi du vil bruge en bestemt javascript-source - som det alt andet lige tyder på når du angiver .js-filer - så gøres det som geeeet skriver - evt. med en browserspecifik if-sætning istedet.
Det er korrekt at jeg vil bruge forskellige javascript-sources til den samme aspside.
Og geeet\'s script er også meget fint, men i følge min browser (MSIE 4x) er det forbudt at indlejre én scriptblok i en anden. JEg får følgende fejlmeddelelse:
\"Active Server Pages fejl \'ASP 0138\'
Indlejret scriptblok
default.asp, linje 7
En scriptblok kan ikke placeres inden i en anden scriptblok. \"
Jeg har så to *.js filer liggende (popsmsie.js og popsnetcape.js). I begge *.js filer findes funktionen \"ViewCode\" - de er blot forskllige i indhold.
Hvis jeg blot havde een *.js fil ville jeg blot øverst i mit ASP-dokument linke til *.js filen med:
Hvis der bliver brugt en netscapebrowser skal *.js filen popsnetcape.js laodes og dennes ViewCode funktion derefter kaldes. Hvis der til gengæld bliver brugt en MSIE broser skal *.js filen popsmsie.js loades og dennes ViewCode funktion kaldes.
if browser = \"IE\" then response.write(\"<script language=javascript src=msie.js>\") else response.write(\"<script language=javascript src=netscape.js>\") end if %>
Sorry, glemte denne før browser=browserdetect.Browser:
<% Set browserdetect = Server.CreateObject(\"MSWC.BrowserType\") browser=browserdetect.Browser
if browser = \"IE\" then response.write(\"<script language=javascript src=msie.js>\") else response.write(\"<script language=javascript src=netscape.js>\") end if %>
Thanks for det sidste, det virker (bortset fra at \"</SCRIPT>\" også skal angives i \"response.write\".
Jeg har modificeret lidt, idet jeg gerne vil have det til at virke også på versioner. JEg har lavet følgende Script som virker fint i Netscape 4+, men i MSIE 4 ignoreres konsekvent den første IF-sætning og der springes ned til IF-sætning nr. 2, hvorefter det script der skulle vises i MSIE 5 vises i MSIE 4:
<% Set browserdetect = Server.CreateObject(\"MSWC.BrowserType\") browserType=browserdetect.Browser browserVersion=browserdetect.Version
if BrowserType =\"IE\" AND BrowserVersion = 4 Then response.write(\"<script language=javascript src=popups_msie4.js></script>\")
else if BrowserType =\"IE\" AND BrowserVersion > 4 Then response.write(\"<script language=javascript src=popups_msie5.js></script>\")
Det er kun brugere af enten MSIE 4 eller derover eller NEtscape 4 eller derover der komer til denne siden med ovennævnte script, så det er KUN dem der skal tages hensyn til.
Det jeg vil have, sagt med ord:
1. Brugere af MSIE 4.x skal loades med popups_msie4.js
2. Brugere af MSIE 5 og større skal loades med popups_5.js
3. Brugere af Netscape 4 og større skal loades med posups_net4.js.
4. Brugere af andre browsere eller versioner er IKKE relevante, idet de slet ikke får lov at komme frem til denne side.
hmm - hvis du skal have det til at virke i ie5 eller højere skal du nok sætte >= 5 istedet for >4 - og så kan du evt. prøve at bygge om på de 2 if - sætninger. Således at den fanger ie5+ browserne først - og først derefter tjekker om det er en ie4 version.
<% Set browserdetect = Server.CreateObject(\"MSWC.BrowserType\") BrowserType=browserdetect.Browser BrowserVersion=browserdetect.Version
if BrowserType =\"Microsoft Internet Explorer\" AND BrowserVersion >= 5 Then response.write(\"<script type=\'text/javascript\' src=popups_msie5.js></script>\")
else if BrowserType =\"Microsoft Internet Explorer\" AND BrowserVersion = 4 Then response.write(\"<script type=\'text/javascript\' src=popups_msie4.js></script>\")
else if BrowserType =\"Netscape Navigator\" AND BrowserVersion = 4 Then response.write(\"<script type=\'text/javascript\' src=popups_net4.js></script>\")
ok - jeg har lige forsøgt igen og dette her virker i hvert fald
<% Set browserdetect = Server.CreateObject(\"MSWC.BrowserType\") BrowserType=browserdetect.Browser BrowserVersion=browserdetect.Version
if BrowserType = \"IE\" AND BrowserVersion >= 5.0 Then response.write \"<script type=\'text/javascript\' src=popups_msie5.js></script>\"
else if BrowserType =\"IE\" AND BrowserVersion >= 4.0 AND BrowserVersion < 5.0 Then response.write \"<script type=\'text/javascript\' src=popups_msie4.js></script>\"
else if BrowserType =\"Default\" AND BrowserVersion = 0.0 Then response.write \"<script type=\'text/javascript\' src=popups_net4.js></script>\"
end if end if end if
%>
at den står til default skal jeg ikke helt kunne redegøre for (har ikke lige tid til at forfølge det nu) - men jeg tjekkede det hele i Opera også - og så satte den IKKE src=popups_net4.js selv om det er en vers. 4 browser. Men som sagt - jeg ved ikke om ns3 brugere fx vil kunne sætte src=popups_net4.js ved brug af ovennævnte.... jeg har kun ns 4.04 og frem....
se dén bliver sgu svær for mig at hjælpe dig med - for i ie5.0 her på arbejde - der detecter korrekt - altså til IE5.0 når jeg laver response.write på de 2 variabler....
\'if BrowserType = \"IE\" AND BrowserVersion >= 5.0 Then \'response.write \"<script type=\'text/javascript\' src=popups_msie5.js></script>\"
\'else if BrowserType =\"IE\" AND BrowserVersion >= 4.0 AND BrowserVersion < 5.0 Then \'response.write \"<script type=\'text/javascript\' src=popups_msie4.js></script>\"
\'else if BrowserType =\"Default\" AND BrowserVersion = 0.0 Then \'response.write \"<script type=\'text/javascript\' src=popups_net4.js></script>\"
Det må jo være min IE5 der er i \"kage\". Jeg lader det lige ligge lidt - skal til at have install. nyt OS.
Tak så langt:-)
v/Ulf
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.