| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Forældet(?) kode...? Fra : Dennis Munding | 
  Dato :  22-09-11 11:52 |  
  |  
 
            Hej alle,
 Som antydet i min tidl. tråd ("Validering af javascriptkode - hvor?") er min 
 datalogilærer ikke helt "up to date" i html - det er måske osse tilfældet i 
 javascript...
 I hvert fald kan hun ikke forklare, hvorfor nedenstående kode ikke virker i 
 FF og Chrome (både med og uden <form>-tag) og heller ikke i IE9 og Opera 
 (nyeste) når der indsættes et <form>-tag.
 Javascript (indsat i <head>-tagget):
 <script type="text/javascript">
 var tal=0;
 function plus1(){
  tal=tal+1;
  taeller.value=tal;
 }
 function minus(){
  tal=tal-1;
  taeller.value=tal;
 }
 </script>
 HTML'en:
 <form action="#">
  <input type="button" name="plusknap" value="Læg én til ved klik" 
 onclick="plus1()" /><br />
  <input type="button" name="minusknap" value="Træk én fra ved klik" 
 onclick="minus()" /><br />
  <input type="button" name="overplus" value="Læg én til ved mouseover" 
 onmouseover="plus1()" /><br />
  <input type="button" name="overminus" value="Træk én fra ved mouseover" 
 onmouseover="minus()" /><br />
  <input type="text" name="taeller" value="0" size="2" />
 </form>
 Hele "herligheden" kan ses samlet her:
 http://test.skovaa-munding.dk/javascript/index.htm
Jeg har tilrettet html'en så den validerer - javascriptet er skrevet, som 
 det blev "serveret" for os (eleverne).
 Alle indspark er velkomne.   
Med venlig hilsen
 -- 
 Dennis Munding
 a.k.a. The Eye - Member of the PosseGrim Squad
 http://pgsquad.com/
"When you hear the wind - you're already dead..." 
            
              |   |   
            
        
 
            
         
           Birger Sørensen (22-09-2011) 
         
	
            | Kommentar Fra : Birger Sørensen | 
  Dato :  22-09-11 12:57 |  
  |  
 
            Dennis Munding formulerede Thursday:
 > Hej alle,
 >
 > Som antydet i min tidl. tråd ("Validering af javascriptkode - hvor?") er min 
 > datalogilærer ikke helt "up to date" i html - det er måske osse tilfældet i 
 > javascript...
 >
 > I hvert fald kan hun ikke forklare, hvorfor nedenstående kode ikke virker i 
 > FF og Chrome (både med og uden <form>-tag) og heller ikke i IE9 og Opera 
 > (nyeste) når der indsættes et <form>-tag.
 >
 > Javascript (indsat i <head>-tagget):
 >
 > <script type="text/javascript">
 > var tal=0;
 >
 > function plus1(){
 >  tal=tal+1;
 >  taeller.value=tal;
 > }
 > function minus(){
 >  tal=tal-1;
 >  taeller.value=tal;
 > }
 > </script>
 >
 >
 > HTML'en:
 >
 > <form action="#">
 >  <input type="button" name="plusknap" value="Læg én til ved klik" 
 > onclick="plus1()" /><br />
 >  <input type="button" name="minusknap" value="Træk én fra ved klik" 
 > onclick="minus()" /><br />
 >  <input type="button" name="overplus" value="Læg én til ved mouseover" 
 > onmouseover="plus1()" /><br />
 >  <input type="button" name="overminus" value="Træk én fra ved mouseover" 
 > onmouseover="minus()" /><br />
 >  <input type="text" name="taeller" value="0" size="2" />
 > </form>
 >
 > Hele "herligheden" kan ses samlet her:
 >  http://test.skovaa-munding.dk/javascript/index.htm
>
 >
 > Jeg har tilrettet html'en så den validerer - javascriptet er skrevet, som det 
 > blev "serveret" for os (eleverne).
 >
 > Alle indspark er velkomne.   
>
 >
 > Med venlig hilsen
 Variablen taeller i javascript er ikke defineret.
 IE - i hvert fald ældre, bruger ikke javascript, men M$'s egen JScript. 
 Der er elementer med id også defineret som variable. Mener dog det skal 
 være id og ikke name. Men name og id har samme "plads" i DOM, så det 
 kan måske virke alligevel - men kun i IE der bruger JScript, altså!
 Giv input et id også
 <input type="text" id="taeller" name="taeller" value="0" size="2" />
 og sæt
 var taeller = document.getElementById('taeller');
 - det skal nok ske i en onload. a.la.:
 var taeller = null;
 window.onload = InitTaeller;
 function InitTaeller(){
   taeller = document.getElementById('taeller');
   }
 Så skulle det vist virke generelt.
 Mulighed for fejl i ældre IE, fordi js-varablen har samme navn som 
 id'et for elementet. I visse tilfælde kan man risikere at JScript 
 brokker sig. Den risiko undgår du, ved at bruge forskellige navne for 
 de to.
 Man kan vel ike sige at det nødvendigvis er gammel kode, på den 
 baggrund. Men det er kode skrevet specifikt til IE'ere, der bruger 
 JScript i stedet for javascript.
 Og det er vel ret beset, en skidt ide...
 Birger
 -- 
 http://varmeretter.dk - billig, sund og hurtig mad
 http://bbsorensen.dk
            
             |   |   
            
        
 
            
         
           scootergrisen (22-09-2011) 
         
	
            | Kommentar Fra : scootergrisen | 
  Dato :  22-09-11 16:20 |  
  |  
 
            Jeg har lavet et eksempel her :
 http://scootergrisen.dk/test/test0087.html
window.onload ser ikke ud til at virke på document.getElementById() 
 derfor jeg har placeret noget af javascript koden EFTER <input id="...">.
 Fordi hvis man kalder document.getElementById() før den id man prøver at 
 hente så virker det ikke finder id'et ikke er indlæs endnu.
 Det burde så i teorien virke med windows.onload()... men det kan jeg 
 ikke få til at virke.
 Måske der er nogle andre der kan ?
            
              |   |   
            
        
 
            
         
            Birger Sørensen (22-09-2011) 
         
	
            | Kommentar Fra : Birger Sørensen | 
  Dato :  22-09-11 18:51 |  
  |  
 
            scootergrisen udtrykte præcist:
 > Jeg har lavet et eksempel her :
 >  http://scootergrisen.dk/test/test0087.html
>
 > window.onload ser ikke ud til at virke på document.getElementById() derfor 
 > jeg har placeret noget af javascript koden EFTER <input id="...">.
 >
 > Fordi hvis man kalder document.getElementById() før den id man prøver at 
 > hente så virker det ikke finder id'et ikke er indlæs endnu.
 > Det burde så i teorien virke med windows.onload()... men det kan jeg ikke få 
 > til at virke.
 >
 > Måske der er nogle andre der kan ?
 window.onload bliver ikke udført før dokumentet er læst. Det er derfor 
 man bruger den, til ting der kræver at dokumenteter er hentet. Og den 
 har ingenting at gøre med getElementById(), ud over at den funktion der 
 kaldes af window.onload, kan indeholde kald til getElementById().
 At rode js ind i html er forkert og i 99,9999999% af tilfældene hvor 
 det bliver gjort, helt unødvendigt hvis man gør tingene rigtigt. Det 
 eneste det tjerner til, er at gøre koden uoverskuelig og sværere at 
 vedligeholde.
 Birger
 -- 
 http://varmeretter.dk - billig, sund og hurtig mad
 http://bbsorensen.dk
            
             |   |   
            
        
 
            
         
             Stig Johansen (23-09-2011) 
         
	
            | Kommentar Fra : Stig Johansen | 
  Dato :  23-09-11 07:06 |  
  |  
 
            Birger Sørensen wrote:
 > window.onload bliver ikke udført før dokumentet er læst. Det er derfor
 > man bruger den, til ting der kræver at dokumenteter er hentet. 
 Birger du skuffer mig (lidt  .
 Det er dårlig karma at bruge .onload, da den _erstatter_ eventuelt tidligere
 definerede onload's.
 Brug altid attachevent og detachevent - eller hvad det nu hedder i de
 forskellige browsere.
 Jeg har lavet noget hvor jeg havde brug for multiple onload's, hvor den
 globale onload ligger i een .js fil, og de(n) specifikke onload i en
 specifik .js.
 For at sige det ligeud, så synes jeg det er særdeles bekymrende at man lærer
 den slags som Dennis her refererer.
 Det værste er hvis man først bliver 'oplært' med .onload, så er det skide
 svært at komme af med igen ;)
 -- 
 Med venlig hilsen
 Stig Johansen
            
              |   |   
            
        
 
            
         
              Birger Sørensen (23-09-2011) 
         
	
            | Kommentar Fra : Birger Sørensen | 
  Dato :  23-09-11 08:40 |  
  |  
 
            Stig Johansen har bragt dette til os:
 > Birger Sørensen wrote:
 >
 >> window.onload bliver ikke udført før dokumentet er læst. Det er derfor
 >> man bruger den, til ting der kræver at dokumenteter er hentet. 
 >
 > Birger du skuffer mig (lidt  .
 >
 > Det er dårlig karma at bruge .onload, da den _erstatter_ eventuelt tidligere
 > definerede onload's.
 >
 > Brug altid attachevent og detachevent - eller hvad det nu hedder i de
 > forskellige browsere.
 Det gør jeg normalt også.
 AddEvent( window, 'load', InitTaeller);
 function AddEvent( elm, evt, fnc) {
    if (elm) {
       if (elm.addEventListener) {   //   for rigtige browsere
          elm.addEventListener(evt, fnc, false);
          }
       else if (elm.attachEvent) {   //   for IE
          elm.attachEvent('on'+evt, fnc);
          }
       }
    }
 Syntes det aktuelle tilfælde måske var lidt simpelt, og det var ikke 
 det spøgsmålet gik på.
 Men du har helt ret.
 Birger
 -- 
 http://varmeretter.dk - billig, sund og hurtig mad
 http://bbsorensen.dk
            
             |   |   
            
        
 
            
         
               Stig Johansen (23-09-2011) 
         
	
            | Kommentar Fra : Stig Johansen | 
  Dato :  23-09-11 09:29 |  
  |   
            Birger Sørensen wrote:
 
 > Syntes det aktuelle tilfælde måske var lidt simpelt, og det var ikke
 > det spøgsmålet gik på.
 
 Jeg ved godt det ikke var det spørgsmålet gik på, men jeg syntes det var på
 sin plds at pointere da Dennis åbenbart deltager i et 'kursus', der (IMO)
 mere vildleder end vejleder ;)
 
 -- 
 Med venlig hilsen
 Stig Johansen
  
            
             |   |   
            
        
 
            
         
                Birger Sørensen (23-09-2011) 
         
	
            | Kommentar Fra : Birger Sørensen | 
  Dato :  23-09-11 11:10 |  
  |  
 
            Stig Johansen skrev:
 > Birger Sørensen wrote:
 >
 >> Syntes det aktuelle tilfælde måske var lidt simpelt, og det var ikke
 >> det spøgsmålet gik på.
 >
 > Jeg ved godt det ikke var det spørgsmålet gik på, men jeg syntes det var på
 > sin plds at pointere da Dennis åbenbart deltager i et 'kursus', der (IMO)
 > mere vildleder end vejleder ;)
 I en undervisnignssituation, bør det emne vel have sin egen behandling?
 Foreløbig har vi lært, at det er skidt at programmere til M$'s JScript, 
 og at der er forskel på JScript og javascript - i hvert fald i praksis.
 Næste lektion kunne så være, hvordan man omgås JScripts "features" 
 eller gør det samme i helt almindeligt javascript, så også rigtige 
 browsere forstår det - og hvordan man gør den slags rigtigt.
 Men vi er principielt helt enige. Det var sjusk og en hurtig løsning på 
 det punkt. Det sakl ikke gentage sig...
 Birger
 -- 
 http://varmeretter.dk - billig, sund og hurtig mad
 http://bbsorensen.dk
            
             |   |   
            
        
 
            
         
            Birger Sørensen (22-09-2011) 
         
	
            | Kommentar Fra : Birger Sørensen | 
  Dato :  22-09-11 19:08 |  
  |  
 
            scootergrisen forklarede:
 > Jeg har lavet et eksempel her :
 >  http://scootergrisen.dk/test/test0087.html
>
 > window.onload ser ikke ud til at virke på document.getElementById() derfor 
 > jeg har placeret noget af javascript koden EFTER <input id="...">.
 >
 > Fordi hvis man kalder document.getElementById() før den id man prøver at 
 > hente så virker det ikke finder id'et ikke er indlæs endnu.
 > Det burde så i teorien virke med windows.onload()... men det kan jeg ikke få 
 > til at virke.
 >
 > Måske der er nogle andre der kan ?
 Og det virker for øvrigt fint, hvis man bare kopierer koden i mit 
 eksempel.
 (Har bibeholdt din "ostemad" id...)
 Birger
 -- 
 http://varmeretter.dk - billig, sund og hurtig mad
 http://bbsorensen.dk
            
             |   |   
            
        
 
            
         
             Birger Sørensen (22-09-2011) 
         
	
            | Kommentar Fra : Birger Sørensen | 
  Dato :  22-09-11 19:11 |  
  |   |   |   
            
        
 
            
         
              scootergrisen (22-09-2011) 
         
	
            | Kommentar Fra : scootergrisen | 
  Dato :  22-09-11 21:13 |  
  |  
 
            >  http://bbsorensen.com/test/js/test0087.html
Ja det virker jeg kunne bare ikke få det til at virke.
 Hvordan kan det være at du skriver :
     var taeller = null;
     ...
     function InitTaeller(){
     taeller = document.getElementById("ostemad");
 Hvorfor kan man ikke bare skrive følgende (som ikke virker) :
     function InitTaeller(){
     var taeller = document.getElementById("ostemad");
 ---
 Og det var godt du beholdte ostemad ellers kunne det jo gå helt galt   
            
             |   |   
            
        
 
            
         
               Birger Sørensen (22-09-2011) 
         
	
            | Kommentar Fra : Birger Sørensen | 
  Dato :  22-09-11 21:58 |  
  |  
 
            scootergrisen skrev den 9/22/2011:
 >>  http://bbsorensen.com/test/js/test0087.html
>
 > Ja det virker jeg kunne bare ikke få det til at virke.
 >
 > Hvordan kan det være at du skriver :
 >
 >     var taeller = null;
 >     ...
 >     function InitTaeller(){
 >     taeller = document.getElementById("ostemad");
 >
 > Hvorfor kan man ikke bare skrive følgende (som ikke virker) :
 >
 >     function InitTaeller(){
 >     var taeller = document.getElementById("ostemad");
 >
 > ---
 >
 > Og det var godt du beholdte ostemad ellers kunne det jo gå helt galt   
taeller skal være en global variabel. Derfor skal den angives udenfor 
 funktionerne. Hvis man gør som du foreslår, er det en lokal variabel i 
 funktionen InitTaeller, og den kendes ikke udenfor funktionen.
 Men den kan ikke assignes det element i strukturen den skal pege på. 
 Derfor tildeler jeg den værdien null i starten.
 Når dokumentet er loaded og klart, kalder window.onload den funktion 
 der tildeler taeller den rigtige værdi.
 Og ja - det er altid godt med en ostemad til aftenkaffen   
Birger
 -- 
 http://varmeretter.dk - billig, sund og hurtig mad
 http://bbsorensen.dk
            
             |   |   
            
        
 
            
         
           Lasse Reichstein Nie~ (22-09-2011) 
         
	
            | Kommentar Fra : Lasse Reichstein Nie~ | 
  Dato :  22-09-11 18:50 |  
  |  
 
            =?ISO-8859-15?Q?Birger_S=F8rensen?= <sdc@bbsorensen.com> writes:
 >> <script type="text/javascript">
 >> var tal=0;
 >>
 >> function plus1(){
 >>  tal=tal+1;
 >>  taeller.value=tal;
 >> }
 ....
 > og sæt
 > var taeller = document.getElementById('taeller');
 > - det skal nok ske i en onload. a.la.:
 >
 > var taeller = null;
 > window.onload = InitTaeller;
 > function InitTaeller(){
 >   taeller = document.getElementById('taeller');
 >   }
 Jeg ville foretrække at gøre det hver gang elementet skal bruges:
   <script>
   var tal = 0;
   function plus1() {
     tal++;
     document.getElementById("taeller").value = tal;
   }
   function minus1() {
     tal--;
     document.getElementById("taeller").value = tal;
   }
   </script>
 Det har fordelen af at man ikke laver en cyklisk reference mellem
 DOM- og JavaScript-objekter, hvilket har givet tidligere versioner af
 fx IE problemer med memory-leaks.
 Og så er jeg også generelt modstander af globale variable.
 Ellers ganske enig.
 /L
 -- 
 Lasse Reichstein Holst Nielsen
  DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
  'Faith without judgement merely degrades the spirit divine.'
            
              |   |   
            
        
 
            
         
           Jens Peter Karlsen (22-09-2011) 
         
	
            | Kommentar Fra : Jens Peter Karlsen | 
  Dato :  22-09-11 20:18 |  
  |  
 
            Populær misforståelse:
 As explained by JavaScript guru Douglas Crockford in his talk entitled
 The JavaScript Programming Language on YUI Theater,
 
 [Microsoft] did not want to deal with Sun about the trademark issue,
 and so they called their implementation JScript. A lot of people think
 that JScript and JavaScript are different but similar languages.
 That's not the case. They are just different names for the same
 language, and the reason the names are different was to get around
 trademark issues.
 JScript er Microsofts implementering af ECMAScript.
 http://en.wikipedia.org/wiki/JScript
Regards Jens Peter Karlsen. 
 On Thu, 22 Sep 2011 13:57:07 +0200, Birger Sørensen
 <sdc@bbsorensen.com> wrote:
 >IE - i hvert fald ældre, bruger ikke javascript, men M$'s egen JScript. 
            
              |   |   
            
        
 
            
         
            Birger Sørensen (22-09-2011) 
         
	
            | Kommentar Fra : Birger Sørensen | 
  Dato :  22-09-11 22:02 |  
  |  
 
            Jens Peter Karlsen:
 > Populær misforståelse:
 >
 > As explained by JavaScript guru Douglas Crockford in his talk entitled
 > The JavaScript Programming Language on YUI Theater,
 >  
 > [Microsoft] did not want to deal with Sun about the trademark issue,
 > and so they called their implementation JScript. A lot of people think
 > that JScript and JavaScript are different but similar languages.
 > That's not the case. They are just different names for the same
 > language, and the reason the names are different was to get around
 > trademark issues.
 >
 > JScript er Microsofts implementering af ECMAScript.
 >  http://en.wikipedia.org/wiki/JScript
>
 > Regards Jens Peter Karlsen. 
 >
 > On Thu, 22 Sep 2011 13:57:07 +0200, Birger Sørensen
 > <sdc@bbsorensen.com> wrote:
 >
 >> IE - i hvert fald ældre, bruger ikke javascript, men M$'s egen JScript. 
 Teori.
 Hvis jeg skriver
 <div id="min_div"> ...
 i HTML, kender JScript elementet som en variabel der hedder min_div.
 Det gør javascript ikke - og har svjv aldrig gjort.
 Og det er præcis det, der er problemet i det oprindelige spørgsmål...
 Så teoretisk er der måske ikke forskel. I praksis er der.
 Birger
 -- 
 http://varmeretter.dk - billig, sund og hurtig mad
 http://bbsorensen.dk
            
             |   |   
            
        
 
            
         
             Stig Johansen (23-09-2011) 
         
	
            | Kommentar Fra : Stig Johansen | 
  Dato :  23-09-11 07:13 |  
  |  
 
            Birger Sørensen wrote:
 > Teori.
 > 
 > Hvis jeg skriver
 > <div id="min_div"> ...
 > i HTML, kender JScript elementet som en variabel der hedder min_div.
 > Det gør javascript ikke - og har svjv aldrig gjort.
 Det er fluekn*pperi.
 'Problemet' er at IE automatisk binder DOM og JS(variable).
 Derfor har man kunnet bruge forms[0].'name' direkte, og vil naturligvis kun
 virke i IE.
 Budskabet til Dennis, som vi nok er enige om er:
 Brug *ALTID* getElementById!
 Derudover vil jeg stadig mene det er en god ide at starte med at kortlægge
 de (andre) små forskelle i DOM properties/funktioner.
 Nåh, men som det ser ud lige nu tror jeg Dennis vil have bedre af at lukke
 ørerne for 'læreren' og lære 10 gange mere her   
-- 
 Med venlig hilsen
 Stig Johansen
            
              |   |   
            
        
 
            
         
              Jens Peter Karlsen (24-09-2011) 
         
	
            | Kommentar Fra : Jens Peter Karlsen | 
  Dato :  24-09-11 10:32 |  
  |   
            Det er vi slet ikke uenige om.
 Og jeg er glad for at FF med version 4 samt Opera 12 fik en lige så
 god implementering af ECMAScript som IE 9. Måske vi ad åre kan glemme
 alt om at skulle tage højde for forskelle i implementeringen i
 forskellige browsere.
 
 Regards Jens Peter Karlsen. 
 
 On Fri, 23 Sep 2011 08:12:44 +0200, Stig Johansen <wopr.dk@gmail.com>
 wrote:
 
 >Budskabet til Dennis, som vi nok er enige om er:
 >Brug *ALTID* getElementById!
  
            
             |   |   
            
        
 
            
         
               Stig Johansen (26-09-2011) 
         
	
            | Kommentar Fra : Stig Johansen | 
  Dato :  26-09-11 06:30 |  
  |   
            Jens Peter Karlsen wrote:
 
 > Det er vi slet ikke uenige om.
 > Og jeg er glad for at FF med version 4 samt Opera 12 fik en lige så
 > god implementering af ECMAScript som IE 9. Måske vi ad åre kan glemme
 > alt om at skulle tage højde for forskelle i implementeringen i
 > forskellige browsere.
 
 Jeg ved ikke rigtig om jeg deler din optimisme ;)
 
 Nu er det 'kun' Dennis, der skriver her, men jeg opfatter det som om _hele_
 klassen bliver 'undervist' i forkerte 'metoder'.
 
 Lidt sørgeligt at man skal spilde sin tid med at lære noget man ikke kan
 bruge i fremtiden.
 
 MHT IE9, så går der noget en lang årrække, da 'han' ikke vil frigive den til
 WinXP.
 
 Personligt synes jeg 'han' skal glemme det der opdateringpres, da det er
 mere destruktivt end konstruktivt.
 
 Ca. citat fra Jurassic Park:
 
 'Life finds its way out'.
 
 Eller på en anden måde:
 Det her pres gør batre at der er flere og flere der søger andre browsere,
 eks. FF.
 
 Tiden med de godtroende, og naive bruger, er forlængst forbi.
 
 -- 
 Med venlig hilsen
 Stig Johansen
  
            
             |   |   
            
        
 
            
         
                Jens Peter Karlsen (26-09-2011) 
         
	
            | Kommentar Fra : Jens Peter Karlsen | 
  Dato :  26-09-11 23:31 |  
  |   
            Ikke vil er så meget sagt. IE9 benytter sig af DirectX 10 som ikke
 findes i Windows XP.
 For min skyld må de gerne skifte til FF eller måske snarere Chrome da
 det er spået at FF vil være mere eller mindre uddød om føje år.
 Mht. det sidste tror jeg desværre at du tager fejl. Både privat og i
 mit arbejde ser jeg intet tegn på dette.
 
 Regards Jens Peter Karlsen. 
 
 On Mon, 26 Sep 2011 07:30:23 +0200, Stig Johansen <wopr.dk@gmail.com>
 wrote:
 
 >MHT IE9, så går der noget en lang årrække, da 'han' ikke vil frigive den til
 >WinXP.
 
 >Det her pres gør batre at der er flere og flere der søger andre browsere,
 >eks. FF.
 >
 >Tiden med de godtroende, og naive bruger, er forlængst forbi.
  
            
             |   |   
            
        
 
            
         
           Lasse Reichstein Nie~ (22-09-2011) 
         
	
            | Kommentar Fra : Lasse Reichstein Nie~ | 
  Dato :  22-09-11 20:47 |  
  |  
 
            Jens Peter Karlsen <jpkarlsen@mvps.org> writes:
 > On Thu, 22 Sep 2011 13:57:07 +0200, Birger Sørensen
 > <sdc@bbsorensen.com> wrote:
 >
 >>IE - i hvert fald ældre, bruger ikke javascript, men M$'s egen JScript. 
 ....
 > JScript er Microsofts implementering af ECMAScript.
 >  http://en.wikipedia.org/wiki/JScript
Mere historisk var der en forskel. Dengang blev der ikke gjort forskel
 på Javascript-sproget og browser-objeckt-modellen (det der senere blev
 til W3C DOM). Altså var der forskel på JavaScript og JScript i den måde
 deres dokument-modeller virkede.
 Efter at W3C standardiserede DOM og ECMA standardisered ECMAScript
 (baseret på JavaScript og JScript )er opdelingen nemmere - JScript og
 JavaScript er begget ECMAScript-implementeringer, og browsernes DOM-
 implementationer er også meget nærmere hinanden (selvom IE stadig
 laver de globale variable ud fra DOM id'er).
 /L
 -- 
 Lasse Reichstein Holst Nielsen
  DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
  'Faith without judgement merely degrades the spirit divine.'
            
              |   |   
            
        
 
            
         
           Dennis Munding (23-09-2011) 
         
	
            | Kommentar Fra : Dennis Munding | 
  Dato :  23-09-11 20:37 |  
  |  
 
            Hej Birger!
 "Birger Sørensen serverede flg...
 > Dennis Munding formulerede Thursday:
 >> Hej alle,
 >>
 >> <script type="text/javascript">
 >> var tal=0;
 >>
 >> function plus1(){
 >>  tal=tal+1;
 >>  taeller.value=tal;
 >> }
 >> function minus(){
 >>  tal=tal-1;
 >>  taeller.value=tal;
 >> }
 >> </script>
 [SNIP]
 >>  <input type="text" name="taeller" value="0" size="2" />
 >
 > Variablen taeller i javascript er ikke defineret.$
 Den glemte jeg at kommentere - fik fejlen serveret i FF, men fandt aldrig ud
 af hvad, der gik galt...
 > IE - i hvert fald ældre, bruger ikke javascript, men M$'s egen JScript.
 > Der er elementer med id også defineret som variable. Mener dog det skal
 > være id og ikke name. Men name og id har samme "plads" i DOM, så det kan
 > måske virke alligevel - men kun i IE der bruger JScript, altså!
 Vær lige rar og forklar mig, hvad DOM står for.
 (Har læst det før, men har teflon-hjerne... :-/)
 > Giv input et id også
 > <input type="text" id="taeller" name="taeller" value="0" size="2" />
 > og sæt
 > var taeller = document.getElementById('taeller');
 > - det skal nok ske i en onload. a.la.:
 Tænkte nok, der var noget galt der.
 Men kan se, jeg har misforstået det med getElementById() - troede ikke det 
 var gangbart...
 Rart at få det på plads.   
> var taeller = null;
 > window.onload = InitTaeller;
 > function InitTaeller(){
 >  taeller = document.getElementById('taeller');
 >  }
 >
 > Så skulle det vist virke generelt.
 > Mulighed for fejl i ældre IE, fordi js-varablen har samme navn som id'et
 > for elementet. I visse tilfælde kan man risikere at JScript brokker sig.
 > Den risiko undgår du, ved at bruge forskellige navne for de to.
 Det virker perfekt i alle mine browsere!
 Bukker og takker mange gange.   
> Man kan vel ike sige at det nødvendigvis er gammel kode, på den baggrund.
 > Men det er kode skrevet specifikt til IE'ere, der bruger JScript i stedet
 > for javascript.
 > Og det er vel ret beset, en skidt ide...
 Er ikke forundret over den udmelding. Men lærer er trods alt af den gamle 
 skole - men derfor kunne hun nu godt have læst bare lidt op på de 
 forskellige sprog, inden hun startede med at undervise i dem...
 Træls at lære noget, som ikke er brugbart (for mig er noget brugbart, når 
 det kan ses/benyttes af alle) - især når vi kun har faget i ét år.
 Kan se tråden har bredt sig - dejligt med alle de indspark.   
Jeg sidder og følger lidt med på sidelinjen - der falder jo mange guldkorn 
 af herinde i grupperne.   
Endnu en gang tak for hjælpen - jeg vender helt sikkert tilbage.   
Med venlig hilsen
 -- 
 Dennis Munding
 a.k.a. The Eye - Member of the PosseGrim Squad
 http://pgsquad.com/
"When you hear the wind - you're already dead..." 
            
              |   |   
            
        
 
            
         
            Birger Sørensen (23-09-2011) 
         
	
            | Kommentar Fra : Birger Sørensen | 
  Dato :  23-09-11 22:25 |  
  |  
 
            Dennis Munding forklarede den 9/23/2011:
 > Vær lige rar og forklar mig, hvad DOM står for.
 > (Har læst det før, men har teflon-hjerne... :-/)
 DOM = Document Object Model.
 Den måde browseren omsætter kildekodens elementer til objekter.
 Har man objektet i js, har man fra js også adgang til dets data - 
 properties og methods (egenskaber og metoder).
 getElementsById() f.eks. er en metode der findes i Dom objektet for 
 dokumentet, og har ikke så meget med js at gøre, andet end man kan 
 kalde den fra js, og få en referance til det objekt der har det givne 
 id.
 Birger
 -- 
 http://varmeretter.dk - billig, sund og hurtig mad
 http://bbsorensen.dk
            
             |   |   
            
        
 
            
         
           Rune Jensen (27-09-2011) 
         
	
            | Kommentar Fra : Rune Jensen | 
  Dato :  27-09-11 08:15 |  
  |   
            On 25 Sep., 22:30, Stig Johansen <wopr...@gmail.com> wrote:
 > Jens Peter Karlsen wrote:
 > > Det er vi slet ikke uenige om.
 > > Og jeg er glad for at FF med version 4 samt Opera 12 fik en lige så
 > > god implementering af ECMAScript som IE 9. Måske vi ad åre kan glemme
 > > alt om at skulle tage højde for forskelle i implementeringen i
 > > forskellige browsere.
 >
 > Jeg ved ikke rigtig om jeg deler din optimisme ;)
 >
 > Nu er det 'kun' Dennis, der skriver her, men jeg opfatter det som om _hele_
 > klassen bliver 'undervist' i forkerte 'metoder'.
 >
 > Lidt sørgeligt at man skal spilde sin tid med at lære noget man ikke kan
 > bruge i fremtiden.
 >
 > MHT IE9, så går der noget en lang årrække, da 'han' ikke vil frigive den til
 > WinXP.
 >
 > Personligt synes jeg 'han' skal glemme det der opdateringpres, da det er
 > mere destruktivt end konstruktivt.
 >
 > Ca. citat fra Jurassic Park:
 >
 > 'Life finds its way out'.
 >
 > Eller på en anden måde:
 > Det her pres gør batre at der er flere og flere der søger andre browsere,
 > eks. FF.
 >
 > Tiden med de godtroende, og naive bruger, er forlængst forbi.
 
 Det er alene de tre E'er, man skal tænke på ifbm. IE. IE er ikke noget
 i sig selv, og den har hidtil alene været brugt strategisk til at
 tvinge folk over i en ny Windows - eller bare Windows generelt. Det er
 der ikke behov for længere på desktoppen, da Linux ER slået med andre
 midler (siger MS sæl, "Linux er ikke længere en konkurrent"). Takket
 være illegal preinstallation og ulækre angreb med patenter, som ingen
 må vide hvad dækker over - og SLET ikke Linux-udviklerne. OG den nye
 bloatwindows8, som udelukker Linux-dual boot på hardware-niveau.
 
 Desuden så har MS set sig slået på IE af Chrome forlængst hvad angår
 både hastighed og brugervenlighed, og vil nu gå andre ligeså dybt
 umoralske veje som de gjorde med IE for at tvinge folk (de sidste
 1.2%) over på bloatwindows eller i det mindste få dem til at betale
 straftold for "patenter", skulle de formaste sig til at kigge på Linux
 - eller Android. Altså idéen med at bruge IE som løftestang bliver nu
 afløst af andre ligeså utiltalende og ulækre tiltag. Mao. IE er nu for
 MS bare pynt, og ikke noget de skal bruge strategisk længere. Folk
 bruger jo stadig bloatwindows, selv om de browser med Chrome eller
 firefox, så den er bare fino.
 
 
 MVH
 Rune Jensen
  
            
             |   |   
            
        
 
            
         
            Jens Peter Karlsen (27-09-2011) 
         
	
            | Kommentar Fra : Jens Peter Karlsen | 
  Dato :  27-09-11 17:44 |  
  |   
            Man kan altid få at vide hvad et patent dækker. Om patentet så burde
 have været udstedt er noget andet.
 Windows er software og kan derfor umuligt forhindre dualboot på
 hardware niveau som du hævder.
 
 Regards Jens Peter Karlsen. 
 
 On Tue, 27 Sep 2011 07:14:39 -0700 (PDT), Rune Jensen
 <runeofdenmark@gmail.com> wrote:
 
 >være illegal preinstallation og ulækre angreb med patenter, som ingen
 >må vide hvad dækker over - og SLET ikke Linux-udviklerne. OG den nye
 >bloatwindows8, som udelukker Linux-dual boot på hardware-niveau.
  
            
             |   |   
            
        
 
            
         
           Lasse Reichstein Nie~ (30-09-2011) 
         
	
            | Kommentar Fra : Lasse Reichstein Nie~ | 
  Dato :  30-09-11 10:59 |  
  |  
 
            Jens Peter Karlsen <jpkarlsen@mvps.org> writes:
 > For min skyld må de gerne skifte til FF eller måske snarere Chrome da
 > det er spået at FF vil være mere eller mindre uddød om føje år.
 Det er ikke noget jeg vil sætte penge på. Firefox er stadig den
 næst-mest brugte browser, og har en bunke dedikerede brugere og
 udviklere. Jeg ser ingen grund til at den skule forsvinde af sig selv
 lige med det samme.
 /L 'bruger Chrome og Opera, med Firefox som backup'.
 -- 
 Lasse Reichstein Holst Nielsen
  DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
  'Faith without judgement merely degrades the spirit divine.'
            
              |   |   
            
        
 
            
         
            Jens Peter Karlsen (30-09-2011) 
         
	
            | Kommentar Fra : Jens Peter Karlsen | 
  Dato :  30-09-11 19:39 |  
  |  
 
            FF har støt tabt markedsandele (også IE) som er gået til Chrome der
 med nuværende hastighed snart vil være større end FF.
 http://gs.statcounter.com/
Regards Jens Peter Karlsen. 
 On Fri, 30 Sep 2011 11:59:08 +0200, Lasse Reichstein Nielsen
 <lrn.unread@gmail.com> wrote:
 >Det er ikke noget jeg vil sætte penge på. Firefox er stadig den
 >næst-mest brugte browser, og har en bunke dedikerede brugere og
            
              |   |   
            
        
 
            
         
           Lasse Reichstein Nie~ (01-10-2011) 
         
	
            | Kommentar Fra : Lasse Reichstein Nie~ | 
  Dato :  01-10-11 02:27 |  
  |  
 
            Jens Peter Karlsen <jpkarlsen@mvps.org> writes:
 > FF har støt tabt markedsandele (også IE) som er gået til Chrome der
 > med nuværende hastighed snart vil være større end FF.
 >  http://gs.statcounter.com/
Selv hvis det sker, så ser jeg ingen grund til at Firefox ligefrem
 skulle uddø.
 Hvis der er nogen der spår at Firefox forsvinder inden for nogen
 overskuelig fremtid, så vil jeg gerne se deres argumentation.  Lige nu
 er der intet der tyder på at nogen af IE, Firefox eller Chrome
 forsvinder. Opera og Safari er jeg ikke helt så sikker på, men de har
 også deres kerne-markeder.
 /L
 -- 
 Lasse Reichstein Holst Nielsen
  DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
  'Faith without judgement merely degrades the spirit divine.'
            
              |   |   
            
        
 
            
         
            Jens Peter Karlsen (01-10-2011) 
         
	
            | Kommentar Fra : Jens Peter Karlsen | 
  Dato :  01-10-11 10:19 |  
  |   |   |   
            
        
 
            
         
           runeofdenmark@hotmai~ (01-10-2011) 
         
	
            | Kommentar Fra : runeofdenmark@hotmai~ | 
  Dato :  01-10-11 04:23 |  
  |   
            On Sep 27, 6:44 pm, Jens Peter Karlsen <jpkarl...@mvps.org> wrote:
 > Man kan altid få at vide hvad et patent dækker.
 
 Og du udtaler dig - med hvilken baggrund?
 
 > Windows er software og kan derfor umuligt forhindre dualboot på
 > hardware niveau som du hævder.
 
 Man kan hvis man laver ulovlige pressionsaftaler med
 hardwareproducenterne - sådan som MS har været vant til igennem mere
 end 20 år at lave illegal pression imod detaildelen. Altså noget med
 "Hvis i sælger ÉN eneste linux-maskine i denher biks, så får i ikke
 lov til at sælge windows". Med det til følge, at butikkerne hellere
 vil sælge noget, som der er 98% kunder til, end at beholde de to % som
 er linuxusers. Her er det så bare firmwaren, det gældfer (softwaren
 til hardwaren), men idéen er fuldstændigt den samme.
 
 En smart måde at holde de små ude at et iøvrigt dybt ulovligt monopol..
 Et monopol, som _alene_ består fordi MS er gode til at lave
 bestikkelse af lovgiverne, dommere, politkere iøvrigt mv. (sikkert med
 både ludere, kokain og meget mere). MS har jo en stafattest så lang
 som Tolstojs Krig og fred, nok længere da den hele tiden vokser
 exponentielt, hvor _intet_ er helligt. Og de har fyret nærmest hele
 holdet af udviklere for i stedet at ansætte sælgere og advokater (de
 sidste skal bruges for at kunne tjene penge på "patentrettigheder",
 som ingen må få at vide hvad dækker).
 
 Den taktik med ulovlig pression kan bruges imod hardwareproducenterne
 og _vil_ blive brugt imod hardwareproducenterne i fbm. Windows8 og
 frem.
 
 ALLE nye maskiner SKAL godkendes af MS. Ellers er det som ovenfor
 beskrevet, hvilket vil bevirke, HVIS man vil køre Linux, så bliver det
 på gammelt hardware.
 
 ....Microsoft kalder denne illegale beskyttelse af sit monopol for
 "sikkerhed".
 
 
 MVH
 Rune Jensen
  
            
             |   |   
            
        
 
            
         
            Jens Peter Karlsen (02-10-2011) 
         
	
            | Kommentar Fra : Jens Peter Karlsen | 
  Dato :  02-10-11 00:04 |  
  |  
 
            Se inline:
 On Sat, 1 Oct 2011 03:23:19 -0700 (PDT), runeofdenmark@hotmail.com
 wrote:
 >On Sep 27, 6:44 pm, Jens Peter Karlsen <jpkarl...@mvps.org> wrote:
 >> Man kan altid få at vide hvad et patent dækker.
 >
 >Og du udtaler dig - med hvilken baggrund?
 Almindelig viden og sund fornuft. Hvis man ikke kunne få at vide hvad
 et patent dækkede ville det jo være umuligt at vide om man overtrådte
 det.
 Her har du søgemaskiner til Patenter og varemærker mm:
 http://www.dkpto.dk/soeg-i-online-registre.aspx
>> Windows er software og kan derfor umuligt forhindre dualboot på
 >> hardware niveau som du hævder.
 >
 >Man kan hvis man laver ulovlige pressionsaftaler med
 >hardwareproducenterne - sådan som MS har været vant til igennem mere
 Med andre ord giver du mig ret i at det ikke er Windows som gør det.
 >ALLE nye maskiner SKAL godkendes af MS. Ellers er det som ovenfor
 >beskrevet, hvilket vil bevirke, HVIS man vil køre Linux, så bliver det
 >på gammelt hardware.
 Det har du vist ikke sat dig ordentligt ind i. Hvis man vil have et
 Certificeret for Windows skal de godkendes ellers ikke.
 Problemet du hentyder til er at Microsoft vil kræve at Certificerede
 maskiner skal bruge UEFI med sikker boot.
 http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface
Der er tre måder at løse dette på. 
 1. Digital signering af Linux (Vil næppe ske) 
 2. En mulighed for at slå sikker boot fra (mere sandsynligt)
 3. Køb en retail version af Windows 8 samt en PC der enten ikke kører
 UEFI med sikker boot eller hvor sikker boot kan slås fra.
 Regards Jens Peter Karlsen. 
            
              |   |   
            
        
 
            
         
           runeofdenmark@hotmai~ (08-10-2011) 
         
	
            | Kommentar Fra : runeofdenmark@hotmai~ | 
  Dato :  08-10-11 05:53 |  
  |   
            On 2 Okt., 01:04, Jens Peter Karlsen <jpkarl...@mvps.org> wrote:
 
 > Med andre ord giver du mig ret i at det ikke er Windows som gør det.
 
 Jeg giver diig ikke ret i nogetsomhelst. Og du må gerne lade være med
 at "selvoversætte" hvad jeg skriver.
 
 <SNIP>
 > 3. Køb en retail version af Windows 8 samt en PC der enten ikke kører
 > UEFI med sikker boot eller hvor sikker boot kan slås fra.
 
 Der er ikke lavet særligt om på systemet med pression imod butikker og
 så dette "nye" system, det er pression uanset. De giver et lille
 "hint" om, at HVIS en butik vil sælge linux, så frafalder retten til
 at sælge windows samtidig. Microsoft bruger det i to udgaver - pisk
 eller gulerod. Gulerod er til bl.a. bribing (f.eks. politikere eller
 dommere), "an offer you cannot refuse", lidt ludere, kokain nogle
 rejser osv. samt pression af netop butikker, hvor de lige giver små
 "hints" om i hvilken retning det vil være "klogt" at gå, hvis ikke man
 vil "lægge sig ud" med Microsoft.
 
 Det her er samme surdej. Betal til MS eller du kan ikke køre linux.
 
 Mao. så finder du det helt i orden, at man skal betale dobbelt - til
 Microsoft - for at få lov til at køre linux - som Microsoft på ingen
 måde har del i. MS tjener på Linuxfolkenes arbejde, men gør intet
 arbejde selv. Det er ikke særligt tiltalende, og jeg tror ikke jeg har
 mere med dig at snakke om.
 
 --
 Rune jensen
  
            
             |   |   
            
        
 
            
         
            Jens Peter Karlsen (09-10-2011) 
         
	
            | Kommentar Fra : Jens Peter Karlsen | 
  Dato :  09-10-11 09:41 |  
  |   
            Se inline.
 
 On Sat, 8 Oct 2011 04:53:22 -0700 (PDT), runeofdenmark@hotmail.com
 wrote:
 
 >On 2 Okt., 01:04, Jens Peter Karlsen <jpkarl...@mvps.org> wrote:
 >
 >> Med andre ord giver du mig ret i at det ikke er Windows som gør det.
 >
 >Jeg giver diig ikke ret i nogetsomhelst. Og du må gerne lade være med
 >at "selvoversætte" hvad jeg skriver.
 
 Ok, så du mener altså at det er Windows selv der forhindrer dual boot.
 Det glæder jeg mig til at du fortæller hvordan det skulle foregå.
 
 >Der er ikke lavet særligt om på systemet med pression imod butikker og
 >så dette "nye" system, det er pression uanset. De giver et lille
 >"hint" om, at HVIS en butik vil sælge linux, så frafalder retten til
 
 Jeg ved godt at du forfærdelig gerne vil hænge fast i hvad de gjorde
 en gang men det er jo ikke særlig produktivt.
 Du får det til at fremstå som om det nye tiltag er på et butik til
 butik stade (som den gamle sag) mens det jo her er et krav til OEMs
 hvis de vi have et "certified..." skilt på deres maskiner, hvilket du
 må vide hvis du har læst hvad der har været fremme om det.
 
 >at sælge windows samtidig. Microsoft bruger det i to udgaver - pisk
 >eller gulerod. Gulerod er til bl.a. bribing (f.eks. politikere eller
 >dommere), "an offer you cannot refuse", lidt ludere, kokain nogle
 >rejser osv. samt pression af netop butikker, hvor de lige giver små
 >"hints" om i hvilken retning det vil være "klogt" at gå, hvis ikke man
 >vil "lægge sig ud" med Microsoft.
 
 Det ville da være interessant hvis du kunne komme med nogle beviser
 for de påstande.
 
 >Det her er samme surdej. Betal til MS eller du kan ikke køre linux.
 
 Sikke noget vrøvl, der er intet der hindrer dig i at købe en computer
 og installere Linux på den. Du glemmer vist at tiltaget her kun gælder
 dual boot med Windows 8 på en computer med UEFI og sikker boot.
  
 >arbejde selv. Det er ikke særligt tiltalende, og jeg tror ikke jeg har
 >mere med dig at snakke om.
 
 Så længe du kun vil køre i Microsofts gamle sager i stedet for at
 forholde dig til hvad der er fakta i dag giver det heller ikke meget
 mening. Det er egentligt synd for det kunne have været interessant at
 diskutere UEFI og sikker boot med henblik på hvilke fordele og ulemper
 der kan være der samt selvfølgelig hvilke muligheder der er for Linux
 for at kunne komme til at køre med sikker boot.
 
 Regards Jens Peter Karlsen. 
  
  
            
             |   |   
            
        
 
            
         
           Rune Jensen (27-09-2011) 
         
	
            | Kommentar Fra : Rune Jensen | 
  Dato :  27-09-11 08:59 |  
  |  
 
            On 22 Sep., 03:52, "Dennis Munding" <nogen@etdomæne.dk> wrote:
 > Jeg har tilrettet html'en så den validerer - javascriptet er skrevet, som
 > det blev "serveret" for os (eleverne).
 >
 > Alle indspark er velkomne.   
Validerer den HTML uden et fieldset?
 MVH
 Rune Jensen
            
              |   |   
            
        
 
            
         
           Dennis Munding (28-09-2011) 
         
	
            | Kommentar Fra : Dennis Munding | 
  Dato :  28-09-11 07:49 |  
  |   |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |