Avatar billede klapiolsen Nybegynder
19. september 2005 - 14:16 Der er 4 kommentarer og
1 løsning

browsercheck og automatisk videresending

Jeg har snuppet og modificeret koden herunder til at tjekke hvorvidt en gammel eller ny menu skal loades i menu-framen på min hjemmeside. på min egen maskine virker det fint, men jeg har hørt at nogle brugere (med samme msie 6.0 version som min) kun ser (den blanke) side herunder og hverken den gamle eller ny version af menuen bliver loaded. -Jeg vil tro det er nogle sikkerhedssettings der skal ændres jeg ved ikke hvilke da det jo virker hos mig. kan nogen hjælpe :)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script language="JavaScript">
<!--

function SymError()
{
  return true;
}

window.onerror = SymError;

var SymRealWinOpen = window.open;

function SymWinOpen(url, name, attributes)
{
  return (new Object());
}

window.open = SymWinOpen;

//-->
</script>

<script language="JavaScript" type="text/JavaScript">
<!--


function Detect(){

version=0;
if (navigator.appName=="Netscape"&&parseFloat(navigator.appVersion)>=4.7){
self.location.href="menu-new.htm";
version=10;
}

else if (navigator.appName=="Mozilla"){
self.location.href="menu-new.htm";
version=20;
}


else if (navigator.appVersion.indexOf("MSIE")!=-1){
temp=navigator.appVersion.split("MSIE")
version=parseFloat(temp[1])
}
if (version>5.5){
self.location.href="menu-new.htm";
}
if (version<=5.5){
self.location.href="menu.htm";
}
}

</script>
</head>

<body onload="var SymTmpWinOpen = window.open; window.open = SymWinOpen;  Detect();; window.open = SymTmpWinOpen;" >

</body>

<script language="JavaScript">
<!--

window.open = SymRealWinOpen;

//-->
</script>

</html>
Avatar billede olebole Juniormester
19. september 2005 - 17:13 #1
<ole>

Et væsentligt problem er i hvert fald, du disabler de vigtigste dele af CSS med den DTD. Brug i stedet denne - så kan IE også forstå bl.a. CSS' box-model:
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

- det er i hvert fald et absolut must. Først derefter kan du begynde at regne med koden  :)

/mvh
</bole>
Avatar billede klapiolsen Nybegynder
20. september 2005 - 12:11 #2
hmm -jeg har ændret første linie til den du gav mig, men problemet er der stadig :( -som nævnt er scriptet et jeg har snuppet, og så vidt jeg kan se nu er function SymError() vist overflødig, mon det vil hjælpe at jeg fjerner den?
Avatar billede klapiolsen Nybegynder
22. oktober 2005 - 10:07 #3
Problemet bestod vist i at der var for mange ";" i nedenstående:
<body onload="var SymTmpWinOpen = window.open; window.open = SymWinOpen;  Detect();; window.open = SymTmpWinOpen;" >
Avatar billede olebole Juniormester
22. oktober 2005 - 19:36 #4
Nej, det kan ikke være fejlen  :)
Avatar billede roenving Novice
23. oktober 2005 - 00:30 #5
Hvis du har NIS på en udviklingsmaskine har du også sat vand over til øretæver !-)

-- svarer nogenlunde til at køre dirt-track på en trehjulet cykel ...
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester