13. maj 2005 - 12:02
Der er
11 kommentarer og 1 løsning
Eksternt JavaScript
Hej Eksperter, Jeg har et javascript som ser således ud function resolution(){ // Identificerer alle browsere ie6 = (navigator.appVersion.indexOf("MSIE 6") != -1) ? true : false; ns6 = (document.getElementById && !document.all) ? true : false; ns4 = (document.layers) ? true : false; ie5 = (!ie6 && document.getElementById && document.all) ? true : false; ie4 = (!ie5 && document.all) ? true : false; if(screen.width<1023) { document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"../style/style800.css\">"); } Else { document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"../style/style1024.css\">"); } }
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Ideen er at jeg gerne vil kunne linke til forskellige CSS dokumenter alt efter hvilken opløsning brugeren anvender. Det virker egenligt også som det skal. Jeg kunne bare godt tænke mig at denne funktionalitet lå i mit eksterne JS dokument. Som det ser ud nu gør jeg således <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript" type="text/javascript" src="../script/script.js"></script> <script type="text/javascript"> // Identificerer alle browsere ie6 = (navigator.appVersion.indexOf("MSIE 6") != -1) ? true : false; ns6 = (document.getElementById && !document.all) ? true : false; ns4 = (document.layers) ? true : false; ie5 = (!ie6 && document.getElementById && document.all) ? true : false; ie4 = (!ie5 && document.all) ? true : false; if(screen.width<1023) { document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"./style/style800.css\">"); } else { document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"./style/style1024.css\">"); } </script> </head>
Jeg håber I forstår hvad det er jeg gerne vil
Jeg vil gerne kunne skrive noget i den her retning <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript" type="text/javascript" src="../script/script.js"></script> <script type="text/javascript"> resolution(); </script> </head>
Du tager bare koden og kaster først eller sidst i filen script.js, så den f.eks. starter sådan: // Identificerer alle browsere ie6 = (navigator.appVersion.indexOf("MSIE 6") != -1) ? true : false; ns6 = (document.getElementById && !document.all) ? true : false; ns4 = (document.layers) ? true : false; ie5 = (!ie6 && document.getElementById && document.all) ? true : false; ie4 = (!ie5 && document.all) ? true : false; if(screen.width<1023){ document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"./style/style800.css\">"); }else{ document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"./style/style1024.css\">"); } function ...
Det er hvad jeg har i mit HTML dokument <script language="JavaScript" type="text/javascript" src="./script/script.js"></script> <script type="text/javascript"> resolution(); </script> og i mit JS dokument function resolution(){ // Identificerer alle browsere ie6 = (navigator.appVersion.indexOf("MSIE 6") != -1) ? true : false; ns6 = (document.getElementById && !document.all) ? true : false; ns4 = (document.layers) ? true : false; ie5 = (!ie6 && document.getElementById && document.all) ? true : false; ie4 = (!ie5 && document.all) ? true : false; if(screen.width<1023) { document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"../style/style800.css\">"); } Else { document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"../style/style1024.css\">"); } }
Jeg forstår ikke helt hvorfor jeg ikke kan få det til at virke. Skal funktionen returnerer noget?
I bruger skiftevis ./ og ../ Kan du ikke bare skrive "/style/style800.css", Hvis din server understøtter det vil det betyde at det virker ligemeget hvor scriptet køres.
Du skal da bare: I dit html-dokument: <script language="JavaScript" type="text/javascript" src="./script/script.js"></script> <!-- bemærk det andet script-tag er fjernet --> -- og i din js-fil (ikke noget med funktion eller nogetsomhelst, og også browser-detection er ubenyttet !-) if(screen.width<1023){ document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"../style/style800.css\">"); }else{ document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"../style/style1024.css\">"); } -- Bemærk også at javascript er case-sensitiv, så der vil komme en javascript-fejl, hvis du bruger Else !-)
Jeg ved godt at browserdetection er ubenyttet. Jeg tænkte bare at jeg måske kunne få brug for det i fremtiden :-)
Vi tilbyder markedets bedste kurser inden for webudvikling