|  | 		    
					
        
         
          
         
	
          | |  | JavaScript virker ikke i Chrome Fra : Kim Ludvigsen
 | 
 Dato :  17-01-10 23:24
 | 
 |  | 
 
            Er der nogen, der kan gennemskue, hvad der går galt på denne 
 side, når den åbnes i Google Chrome?
http://www.gl-estrup.dk/ Der vises blot en rød side i stedet for sidens indhold. Slår 
 man JavaScript fra, vises sidens indhold (bortset fra 
 indhold genereret med JavaScript).
 Siden er anmeldt til lki.dk, og jeg vil gerne kunne fortælle 
 dem, hvad det er, de skal rette.
 -- 
 Mvh. Kim Ludvigsen
 Hjælp til svære danske ord og ordsprog:
http://ordforklaring.dk |  |  | 
  Jens Chr. Jensen (17-01-2010) 
 
	
          | |  | Kommentar Fra : Jens Chr. Jensen
 | 
 Dato :  17-01-10 23:57
 | 
 |  | Kim Ludvigsen skrev:
 
 > Der vises blot en rød side i stedet for sidens indhold. Slår man
 > JavaScript fra, vises sidens indhold (bortset fra indhold genereret med
 > JavaScript).
 >
 
 Der mangler //--> før </script>
 
 Først koden fra forsiden, derefter fra en underside, der virker.
 Scriptet står i Head, Firefox synes at ignorere fejlen - Chrome gør
 ikke. Pudsigt nok stejler farvekodningen i Chromes "Vis kilde" ikke over
 fejlen - det er ellers en god måde at opdage uafsluttede kommentarer.
 Jeg har ikke IE på Ubuntu, så det kan jeg ikke teste.
 
 Forside:
 
 <script language="JavaScript" type="text/JavaScript">
 <!--
 window.onresize = new Function("window.location.reload()")
 
 function MM_reloadPage(init) {  //reloads the window if Nav4 resized
 if (init==true) with (navigator) {if
 ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
 document.MM_pgW=innerWidth; document.MM_pgH=innerHeight;
 onresize=MM_reloadPage; }}
 else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH)
 location.reload();
 }
 MM_reloadPage(true);
 
 function MM_openBrWindow(theURL,winName,features) { //v2.0
 window.open(theURL,winName,features);
 }
 </script>
 
 
 Underside:
 
 <script language="JavaScript" type="text/JavaScript">
 <!--
 window.onresize = new Function("window.location.reload()")
 
 function MM_reloadPage(init) {  //reloads the window if Nav4 resized
 if (init==true) with (navigator) {if
 ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
 document.MM_pgW=innerWidth; document.MM_pgH=innerHeight;
 onresize=MM_reloadPage; }}
 else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH)
 location.reload();
 }
 MM_reloadPage(true);
 //-->
 </script>
 
 
 Med venlig hilsen
 Jens Chr. Jensen
 
 
 |  |  | 
  Jens Chr. Jensen (18-01-2010) 
 
	
          | |  | Kommentar Fra : Jens Chr. Jensen
 | 
 Dato :  18-01-10 00:08
 | 
 |  | 
 
            Hej Kim
 Jeg var inde for at kigge på lki.dk, men desværre først efter at jeg 
 havde svaret her i gruppen. Anmelderen har jo selv givet/antydet svaret.
 I øvrigt er jeres forum evigheder om at svare. Har serveren så travlt 
 her på grænsen mellem søndag og mandag    mvh
 Jens Chr.
            
             |  |  | 
   Kim Ludvigsen (18-01-2010) 
 
	
          | |  | Kommentar Fra : Kim Ludvigsen
 | 
 Dato :  18-01-10 01:45
 | 
 |  | 
 
            Jens Chr. Jensen skrev:
 > Jeg var inde for at kigge på lki.dk, men desværre først efter at jeg 
 > havde svaret her i gruppen. Anmelderen har jo selv givet/antydet svaret.
 Aj, jeg sidder med meget røde ører! Jeg havde ikke lagt 
 mærke til beskrivelsen af årsagen - nok fordi der stort set 
 aldrig er nogle, som udfylder det punkt. Tak for svaret, og 
 undskyld, at jeg gav dig unødvendigt arbejde.
 > I øvrigt er jeres forum evigheder om at svare. Har serveren så travlt 
 > her på grænsen mellem søndag og mandag    Jeg ved ikke, om serveren har været specielt belastet på det 
 tidspunkt. Det kan vist godt svinge lidt.
 -- 
 Mvh. Kim Ludvigsen
 Omfattende brugerguide for begyndere til Ubuntu Linux
http://kimludvigsen.dk/linux |  |  | 
    Jens Chr. Jensen (18-01-2010) 
 
	
          | |  | Kommentar Fra : Jens Chr. Jensen
 | 
 Dato :  18-01-10 13:39
 | 
 |  | 
 
            Kim Ludvigsen skrev:
 > Aj, jeg sidder med meget røde ører! Jeg havde ikke lagt mærke til 
 > beskrivelsen af årsagen - nok fordi der stort set aldrig er nogle, som 
 > udfylder det punkt. Tak for svaret, og undskyld, at jeg gav dig 
 > unødvendigt arbejde.
 Hej Kim
 Tag det nu ikke for tungt. Det var ikke ment som nogen bebrejdelse, så 
 meget arbejde var der jo heller ikke i det.
 Men dels syntes jeg, at anmelderen fortjente anerkendelsen for at have 
 spottet fejlen, dels gad jeg ikke læse x antal indlæg her i stil med 
 "Det har anmelderen jo allerede set" - med et underforstået "idiot". Så 
 hellere skrive det selv med en lille forklaring og spare mig referencen 
 til idioten    > Jeg ved ikke, om serveren har været specielt belastet på det tidspunkt. 
 > Det kan vist godt svinge lidt.
 Det var bedre lidt senere, da jeg for sjov vendte tilbage for at kigge 
 nærmere på sitet.
 Med venlig hilsen
 Jens Chr. Jensen
            
             |  |  | 
  Jens Chr. Jensen (18-01-2010) 
 
	
          | |  | Kommentar Fra : Jens Chr. Jensen
 | 
 Dato :  18-01-10 14:25
 | 
 |  | Jens Chr. Jensen skrev:
 > Kim Ludvigsen skrev:
 >
 >> Der vises blot en rød side i stedet for sidens indhold. Slår man
 >> JavaScript fra, vises sidens indhold (bortset fra indhold genereret
 >> med JavaScript).
 >>
 >
 > Der mangler //--> før </script>
 >
 
 Hej
 
 Der er måske andre fejl også, eller der er (værre) en fejl i Chromes JS
 implementering:
 
 Teknikken med
 
 <!--
 
 // -->
 
 skal forhindre browsere uden scriptunderstøttelse i at læse og
 præsentere scriptet som tekst. Gammel og velfungerende teknik.
 
 Den burde faktisk ikke fejle i Chrome, selv om sidste linje med JS
 kommentaren mangler.
 
 Jeg blev nysgerring efter at friske op, hvorfor den anvendte teknik
 faktisk virker. Det gør den fordi <!-- er lovlig som indledning til en
 enkeltlinjekommentar i Javascript (eller har i hvertfald været det)
 
 Så Chrome med JS burde som Firefox læse <!-- som en linjekommentar og
 derefter gå glad videre. (Som også deres kildetekstpræsentation gør det)
 
 Browsere uden JS bør læse resten af koden som en html kommentar, indtil
 der evt. findes --> længere nede på siden. Derfor bør man selvfølgelig
 rette fejlen.
 
 Men hvis der ikke er andre fejl på siden (og bemærk, at den underside,
 jeg har fundet, faktisk virker korrekt), har Chrome så vidt jeg kan se
 et problem, selv om der nok ikke er ret mange, der bruger <!-- til andet
 end nævnte formål i JS.
 
 Med venlig hilsen
 Jens Chr. Jensen
 
 
 
 
 |  |  | 
  Lasse Reichstein Nie~ (19-01-2010) 
 
	
          | |  | Kommentar Fra : Lasse Reichstein Nie~
 | 
 Dato :  19-01-10 23:11
 | 
 |  | 
 
            "Jens Chr. Jensen" <jcjensen@esenet.dk> writes:
 > Teknikken med
 >
 > <!--
 >
 > // -->
 >
 > skal forhindre browsere uden scriptunderstøttelse i at læse og
 > præsentere scriptet som tekst. Gammel og velfungerende teknik.
 .... i HTML.
 Desværre er den direkte skadelig i XHTML, som siden er skrevet i.
 I XHTML kan kommentarer (<!-- ... -->) bliver fjernet under XHTML-
 parsing, før man overhovedet ved at det er et script-element de
 står i. Det gør browserne nok alligevel ikke (selvom det ville
 være korrekt), men de kan ikke ignorere en uafsluttet kommentar 
 på samme måde som i HTML (fordi content-type for script-elementet
 er ændret fra CDATA til PCDATA).
 Og så er der vist ikke lavet nogen browsere der ikke forstår script-
 elementet siden før Netscape 2. Det er helt unødvendigt at have med
 i vore dage.
 > Den burde faktisk ikke fejle i Chrome, selv om sidste linje med JS
 > kommentaren mangler.
 Jo, desværre, i XHTML er <!-- ikke bare en del af script-teksten,
 den bliver parset på niveau med XHTML-elementerne, så uden en
 afslutning er </script> bare en del af kommentaren.
 > Jeg blev nysgerring efter at friske op, hvorfor den anvendte teknik
 > faktisk virker. Det gør den fordi <!-- er lovlig som indledning til en
 > enkeltlinjekommentar i Javascript (eller har i hvertfald været det)
 Det er der tradition for, selvom det aldrig har været en del af
 ECMAScript standarden (og faktisk er i strid med den [1]). Men i XHTML
 bliver <!-- ikke bare sendt videre til script-fortolkeren, men bliver
 håndteret af XHTML-parseren (som så, hvis kommentaren er ordentligt 
 afsluttet, sender hele indholdet med til script-fortolkeren alligevel,
 for at folks script virker).
 /L
 -- 
 Lasse Reichstein Holst Nielsen
  DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>   'Faith without judgement merely degrades the spirit divine.'
            
             |  |  | 
   Birger Sørensen (20-01-2010) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  20-01-10 00:08
 | 
 |  | 
 
            Lasse Reichstein Nielsen skrev:
 8X
 > Og så er der vist ikke lavet nogen browsere der ikke forstår script-
 > elementet siden før Netscape 2. Det er helt unødvendigt at have med
 > i vore dage.
 8X
 Den eneste grund til at "udkommentere" scripts, er at man i inline 
 script (script i XHTML filen), undgår at escape karakterer som elles 
 vil blive parset (og give valideringsfejl)..
 I virkeligheden er det så en grund til at have sine scripts externt i 
 stedet...
 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
   Jens Chr. Jensen (20-01-2010) 
 
	
          | |  | Kommentar Fra : Jens Chr. Jensen
 | 
 Dato :  20-01-10 01:42
 | 
 |  | Hej Lasse
 
 Tak for din lange og instruktive forklaring. Så blev jeg så klog. Selv
 om det er nogen tid siden, at jeg sidst har lavet JS i større stil og
 derfor er ved at friske op på det, ville jeg nok rutinemæssigt have kørt
 videre med den gamle praksis. Så jeg er særdeles glad for at få din
 forklaring på, hvorfor det er en dårlig ide.
 
 Jeg burde så have husket, hvad du også korrekt gør opmærksom på, at
 problemet dengang var browsere, der ikke forstod <script>, og dem er der
 næppe så mange tilbage af, at det er nødvendigt at tage hensyn til.
 
 Med venlig hilsen
 Jens Chr.
 
 
 |  |  | 
   Stig Johansen (20-01-2010) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  20-01-10 04:05
 | 
 |  | Lasse Reichstein Nielsen wrote:
 
 > på samme måde som i HTML (fordi content-type for script-elementet
 > er ændret fra CDATA til PCDATA).
 
 Kiggede lige i DTD'en, og det er vist noget rod.
 Den er defineret som PCDATA, som du siger, men i comments står der 'may
 include CDATA sections'.
 
 Gad vide hvordan den skal forstås.
 
 --
 Med venlig hilsen
 Stig Johansen
 
 
 |  |  | 
  Lasse Reichstein Nie~ (20-01-2010) 
 
	
          | |  | Kommentar Fra : Lasse Reichstein Nie~
 | 
 Dato :  20-01-10 07:28
 | 
 |  | 
 
            =?ISO-8859-15?Q?Birger_S=F8rensen?= <sdc@bbsorensen.com> writes:
 > Lasse Reichstein Nielsen skrev:
 > 8X
 >> Og så er der vist ikke lavet nogen browsere der ikke forstår script-
 >> elementet siden før Netscape 2. Det er helt unødvendigt at have med
 >> i vore dage.
 > 8X
 >
 > Den eneste grund til at "udkommentere" scripts, er at man i inline
 > script (script i XHTML filen), undgår at escape karakterer som elles
 > vil blive parset (og give valideringsfejl)..
 Nej, *ikke* i XHTML-filer. Hvis du vil undgå at escape dine tegn
 i XHTML skal du bruge en CDATA section (<![CDATA[ ... ]]>).
 Brug endelig ikke HTML-kommentarer i XHTML - en standard-overholdende
 XHTML-parser må smide kommentarer, med indhold, væk allerede mens
 XHTML'en bliver parset.
 /L
 -- 
 Lasse Reichstein Holst Nielsen
  DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>   'Faith without judgement merely degrades the spirit divine.'
            
             |  |  | 
  Lasse Reichstein Nie~ (20-01-2010) 
 
	
          | |  | Kommentar Fra : Lasse Reichstein Nie~
 | 
 Dato :  20-01-10 07:40
 | 
 |  | 
 
            Stig Johansen <wopr.dk@gmail.com> writes:
 > Lasse Reichstein Nielsen wrote:
 >
 >> på samme måde som i HTML (fordi content-type for script-elementet
 >> er ændret fra CDATA til PCDATA).
 >
 > Kiggede lige i DTD'en, og det er vist noget rod.
 > Den er defineret som PCDATA, som du siger, men i comments står der 'may
 > include CDATA sections'.
 >
 > Gad vide hvordan den skal forstås.
 En CDATA-sektion er flankeret af <![CDATA[ og ]]>. Det gør at indholdet,
 frem til første instans af ]]>, ikke fortolkes som XHTML overhovedet.
 Altså, fx:
  <script type="text/javascript>
    // <![CDATA[
    // mit sjove script med sjove tegn.
    var y = 42, amp = 17;
    var x = y&  // & ville ellers blive fortolket som '.
    if (foo </script/.exec(bar).length) yadda yadda
    //    ^ her ville script-elementet ellers skulle stoppe.
    // ]]>
  </script>
 CDATA-sektioner findes kun i XHTML og i HTML 5, ikke i HTML 4 og
 tidligere.
 /L
 -- 
 Lasse Reichstein Holst Nielsen
  DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>   'Faith without judgement merely degrades the spirit divine.'
            
             |  |  | 
   Stig Johansen (20-01-2010) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  20-01-10 10:56
 | 
 |  | Lasse Reichstein Nielsen wrote:
 > En CDATA-sektion er flankeret af <![CDATA[ og ]]>. Det gør at indholdet,
 > frem til første instans af ]]>, ikke fortolkes som XHTML overhovedet.
 > Altså, fx:
 [snip]
 
 Jeg modsiger dig ikke.
 
 > CDATA-sektioner findes kun i XHTML og i HTML 5, ikke i HTML 4 og
 > tidligere.
 
 Ja, men det ændre ikke ved det faktum, at browserne gør hvad de vil - DTD
 eller ej, det er jo ikke DTD'en der bestemmer hvad man gør, men
 implementeringen.
 
 --
 Med venlig hilsen
 Stig Johansen
 
 
 |  |  | 
  Anders Wegge Keller (18-01-2010) 
 
	
          | |  | Kommentar Fra : Anders Wegge Keller
 | 
 Dato :  18-01-10 00:16
 | 
 |  | 
 
            Kim Ludvigsen <usenet@kimludvigsen.dk> writes:
 > Er der nogen, der kan gennemskue, hvad der går galt på denne side, når
 > den åbnes i Google Chrome?
 > http://www.gl-estrup.dk/ >
 > Der vises blot en rød side i stedet for sidens indhold. Slår man
 > JavaScript fra, vises sidens indhold (bortset fra indhold genereret
 > med JavaScript).
 >
 > Siden er anmeldt til lki.dk, og jeg vil gerne kunne fortælle dem, hvad
 > det er, de skal rette.
  Som jeg skrev, så er jeg rimeligt overbevist om at det er den
 kommentar der starter på linie 26, men aldrig bliver afsluttet, der er
 årsag til den flotte røde skærm.
  Der er flere andre glitches rundt omkring, som f. eks. at på nogle af
 siderne bliver kun de øverste 2-3 pixels af menuerne vist, men de er
 mindre belastende for tilgængeligheden.
 -- 
 /Wegge
 Leder efter redundant peering af dk.*,linux.debian.*
            
             |  |  | 
  Lasse Reichstein Nie~ (18-01-2010) 
 
	
          | |  | Kommentar Fra : Lasse Reichstein Nie~
 | 
 Dato :  18-01-10 07:18
 | 
 |  | 
 
            Kim Ludvigsen <usenet@kimludvigsen.dk> writes:
 > Er der nogen, der kan gennemskue, hvad der går galt på denne side, når
 > den åbnes i Google Chrome?
 > http://www.gl-estrup.dk/ Virker den i Safari? Ellers er det formodentlig et Webkit-problem snarere
 end et rent Chrome-problem.
 > Der vises blot en rød side i stedet for sidens indhold. Slår man
 > JavaScript fra, vises sidens indhold (bortset fra indhold genereret
 > med JavaScript).
 Et hurtigt tjek på siden med Chromes debugger viser javascript-filen
 brow_tjek.js, der, bl.a., indeholder:
         browserName = navigator.appName;
    browserVer = parseInt(navigator.appVersion);
    var msie4 = (browserName == "Microsoft Internet Explorer" && browserVer >= 4);
    if ((browserName == "Netscape" && browserVer >= 3) || msie4 || browserName=="Konqueror") {version = "n3";} else {version = "n2";}
 Det vil sige at Chrome bliver detekteret som en "version 2"
 browser. Det kan umuligt være sundt :)
 Den slags browser-detekt er lige til at smide ud.
 Jeg kan ikke lige se hvad problemet er her og nu, men jeg kan kigge
 mere på det senere.
 /L
 -- 
 Lasse Reichstein Holst Nielsen
  DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>   'Faith without judgement merely degrades the spirit divine.'
            
             |  |  | 
  Kim Ludvigsen (18-01-2010) 
 
	
          | |  | Kommentar Fra : Kim Ludvigsen
 | 
 Dato :  18-01-10 09:13
 | 
 |  | 
 
            Lasse Reichstein Nielsen skrev:
 > Det vil sige at Chrome bliver detekteret som en "version 2"
 > browser. Det kan umuligt være sundt :)
 Jeg lagde godt mærke til brow_tjek.js, men jeg forstod intet 
 af indholdet i den. Jeg vil nævne ovenstående til sitet.
 > Den slags browser-detekt er lige til at smide ud.
 Jep, de har også et andet script som virker meget 
 overflødigt. Når man ændrer størrelsen på browservinduet 
 genindlæses siden, men så vidt jeg kan se, er det præcis den 
 same side, man får igen, altså ikke noget med ændring af 
 størrelsen af indholdet.
 > Jeg kan ikke lige se hvad problemet er her og nu, men jeg kan kigge
 > mere på det senere.
 Som du kan se på de andre indlæg i tråden er det ikke 
 nødvendigt, men ellers tak.
 -- 
 Mvh. Kim Ludvigsen
http://kimludvigsen.dk |  |  | 
  Jens Chr. Jensen (18-01-2010) 
 
	
          | |  | Kommentar Fra : Jens Chr. Jensen
 | 
 Dato :  18-01-10 15:13
 | 
 |  | 
 
            Lasse Reichstein Nielsen skrev:
 > Et hurtigt tjek på siden med Chromes debugger viser javascript-filen
 > brow_tjek.js, der, bl.a., indeholder:
 > 
 >         browserName = navigator.appName;
 >    browserVer = parseInt(navigator.appVersion);
 >    var msie4 = (browserName == "Microsoft Internet Explorer" && browserVer >= 4);
 >    if ((browserName == "Netscape" && browserVer >= 3) || msie4 || browserName=="Konqueror") {version = "n3";} else {version = "n2";}
 Hej
 Jeg tror ikke, at browsertjekket bliver brugt til noget. Der er et mere 
 "moderne" tjek i browser.js
 Der testes for en række specifikke browsere, herunder ældre versioner af 
 ie og nn og derudover den sædvanlige test for dom kompabilitet 
 document.getElementById.
 Der er et eller andet tilbagefald for browsere, der ikke passerer disse 
 test, men hvad de får serveret, kan jeg ikke umiddelbart se.
 > Det vil sige at Chrome bliver detekteret som en "version 2"
 > browser. Det kan umuligt være sundt :)
 Hos mig bliver Chrome detekteret som Safari:
 i browser.js
 else if (agent.indexOf("safari") != -1)
    safari = true;
 og senere i browser.js
 else if (safari)
    document.write('<script type="text/javascript" src="' + buildDir + 
 'saf-build.js"></script>');
 og endelig:
 Chrome registrerer /include/saf-build.js som en af siden resources
 > Den slags browser-detekt er lige til at smide ud.
 Jep, og det har de måske også gjort    Med venlig hilsen
 Jens Chr. Jensen
            
             |  |  | 
  Lasse Reichstein Nie~ (19-01-2010) 
 
	
          | |  | Kommentar Fra : Lasse Reichstein Nie~
 | 
 Dato :  19-01-10 22:36
 | 
 |  | 
 
            Kim Ludvigsen <usenet@kimludvigsen.dk> writes:
 > Lasse Reichstein Nielsen skrev:
 >
 >> Det vil sige at Chrome bliver detekteret som en "version 2"
 >> browser. Det kan umuligt være sundt :)
 >
 > Jeg lagde godt mærke til brow_tjek.js, men jeg forstod intet af
 > indholdet i den. Jeg vil nævne ovenstående til sitet.
 >
 >> Den slags browser-detekt er lige til at smide ud.
 >
 > Jep, de har også et andet script som virker meget overflødigt. Når man
 > ændrer størrelsen på browservinduet genindlæses siden, men så vidt jeg
 > kan se, er det præcis den same side, man får igen, altså ikke noget
 > med ændring af størrelsen af indholdet.
 Jeg mener at huske at det var noget man gjorde i Netscape 3, eller
 måske endda Netscape 4, fordi den ikke reflow'ede siden når vinduet
 ændrede størrelse. Måske netop sådan noget der sker når man bliver
 behandlet som en "version 2" browser :)
 /L
 -- 
 Lasse Reichstein Holst Nielsen
  DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>   'Faith without judgement merely degrades the spirit divine.'
            
             |  |  | 
 |  |