/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
JavaScript-link
Fra : Kim Ludvigsen


Dato : 20-08-08 17:06

Hvordan skal nedenstående link se ud for at virke i alle
browsere?

<a class='links' href='javascript:void(0);'
onmousedown='getMouseXY(7);'>Aktiviteter <img
src='pic/prik.jpg' border=0 alt=''></a>

Det er fra denne side:
http://www.solbjerg.org/dk/

--
Mvh. Kim Ludvigsen
Få dit tastatur til at lyde som en gammel skrivemaskine
eller en brølende ko med det gratis program Noisy Keyboard.
http://kimludvigsen.dk

 
 
Jørgen Farum Jensen (20-08-2008)
Kommentar
Fra : Jørgen Farum Jensen


Dato : 20-08-08 18:08

Kim Ludvigsen skrev:
> Hvordan skal nedenstående link se ud for at virke i alle browsere?
>
> <a class='links' href='javascript:void(0);'
> onmousedown='getMouseXY(7);'>Aktiviteter <img src='pic/prik.jpg'
> border=0 alt=''></a>

Det ville i hvert fald være et skridt på vejen at
menu.js indeholdt en funktionsdefinition på
getMouseXY(n);

Det oldgamle script er i øvrigt forsynet
med en meddelelse om at det kun er gratis
for private. Det omfatter nok ikke et foretagende
som et behandlingshjem.

Det hele virker utrolig amatøragtigt.

--
Med venlig hilsen

Jørgen Farum Jensen
http://webdesign101.dk

Stig Johansen (20-08-2008)
Kommentar
Fra : Stig Johansen


Dato : 20-08-08 19:14

Jørgen Farum Jensen wrote:

> Kim Ludvigsen skrev:
>> Hvordan skal nedenstående link se ud for at virke i alle browsere?
>>
>> <a class='links' href='javascript:void(0);'
>> onmousedown='getMouseXY(7);'>Aktiviteter <img src='pic/prik.jpg'
>> border=0 alt=''></a>
>
> Det ville i hvert fald være et skridt på vejen at
> menu.js indeholdt en funktionsdefinition på
> getMouseXY(n);

Der ligger noget nederst i sourcen (efter </html>).

> Det hele virker utrolig amatøragtigt.

Enig, man bør næsten oprette en dailyWTF for websider.
Ud over datoerne - sidst opdateret 2. juni, overskriften siger 25-08-2004,
og ævl om spæd begyndelse, så fik jeg dagens griner...
Jeg kører med Konqueror, sat op som IE6/XP og får denne besked:
DENNE HJEMMESIDE KAN DESVÆRRE IKKE VISES KORREKT MED FIREFOX - BRUG Internet
Explorer

WTF - hvor kommer Firefox lige ind i billedet ?

--
Med venlig hilsen
Stig Johansen

Philip Nunnegaard (20-08-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 20-08-08 19:31

"Stig Johansen" <wopr.dk@gmaill.com> skrev

> DENNE HJEMMESIDE KAN DESVÆRRE IKKE VISES KORREKT MED FIREFOX - BRUG
> Internet
> Explorer
>
> WTF - hvor kommer Firefox lige ind i billedet ?

Endnu sjovere: Dén besked får jeg *ikke* - i Firefox.

Kig så nede i højre hjørne:

"Copyright 2004 by Total Disaster Design"


Stig Johansen (20-08-2008)
Kommentar
Fra : Stig Johansen


Dato : 20-08-08 19:37

Philip Nunnegaard wrote:

> Kig så nede i højre hjørne:
>
> "Copyright 2004 by Total Disaster Design"

Done - mailadresse: snaskj@hotmail.com
Godt nok staver man SNASK forkert, men lidt selvkritik har man da :)

--
Med venlig hilsen
Stig Johansen

Kim Ludvigsen (21-08-2008)
Kommentar
Fra : Kim Ludvigsen


Dato : 21-08-08 10:29

Philip Nunnegaard skrev:
> "Stig Johansen" <wopr.dk@gmaill.com> skrev
>
>> DENNE HJEMMESIDE KAN DESVÆRRE IKKE VISES KORREKT MED FIREFOX - BRUG
>> Internet
>> Explorer
>>
>> WTF - hvor kommer Firefox lige ind i billedet ?
>
> Endnu sjovere: Dén besked får jeg *ikke* - i Firefox.

Hm, hvordan undgår du den? Så vidt jeg kan se, er den
hardcoded ind på siden - den vises også i Internet Explorer!

--
Mvh. Kim Ludvigsen
Avancerede søgemuligheder i mails med Thunderbird.
http://kimludvigsen.dk

Kim Ludvigsen (21-08-2008)
Kommentar
Fra : Kim Ludvigsen


Dato : 21-08-08 10:14

Jørgen Farum Jensen skrev:
> Kim Ludvigsen skrev:
>> Hvordan skal nedenstående link se ud for at virke i alle browsere?
>>
> Det ville i hvert fald være et skridt på vejen at
> menu.js indeholdt en funktionsdefinition på
> getMouseXY(n);

Jeg havde slet ikke lagt mærke til, at der var et
menu-script. Jeg troede, koden var noget i stil med onclick
- jeg behøver vel ikke sige, at jeg ikke har meget styr på
JavaScript ...

> Det oldgamle script er i øvrigt forsynet
> med en meddelelse om at det kun er gratis
> for private. Det omfatter nok ikke et foretagende
> som et behandlingshjem.

Det kan da være, de har betalt. Jeg har lige skrevet en mail
til KMD, hvor der er en fejl i deres menu-script. Det er
dette script:
http://kmd.dk/FFF72F3A-1F7E-4561-B5C6-E4DE69A7B32511

Jeg var lige ved at bemærke scriptets linje to i mailen, men
tænkte, at jeg hellere måtte lade tvivlen komme dem til gode
[1]. Lidt flovt, hvis en milliard-virksomhed med knap 3.000
ansatte og IT som speciale bruger sådan et script uden at
betale.

[1] Selvom scriptet er forældet og findes i mange nyere
versioner på programmørens hjemmeside - hvis man havde
betalt, burde programmøren da have sendt en mail om
opdateringer.

--
Mvh. Kim Ludvigsen
Skrot mus og tastatur, i fremtiden kan du styre computeren
med stemmen, tanken - eller dit humør.
http://kimludvigsen.dk

Philip Nunnegaard (20-08-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 20-08-08 19:28

"Kim Ludvigsen" <usenet@kimludvigsen.dk> skrev

> Hvordan skal nedenstående link se ud for at virke i alle browsere?
>
> <a class='links' href='javascript:void(0);'
> onmousedown='getMouseXY(7);'>Aktiviteter <img src='pic/prik.jpg' border=0
> alt=''></a>

Jeg går ud fra at det er på grundlag af en anmeldelse på lki.dk.

Jeg måtte lige åbne siden i IE for at se, hvad et klik skulle medføre, men
så stod løsningen mig egentlig lige for.
Jeg ville køre noget med document.getElementById()

<a href="javascript:visskjul(menu1)">Nyheder</a>

Og lige nedenunder:

<span id="menu1" style="display:none;">Indholdet i dén
undermenu</span> (<div> kan også bruges)

I javascriptet ville det så være noget med at visskjul()-funktionen skulle
skifte stylingen mellem "none" og "block".

if(document.getElementByIt('menu1').style.display == "none") {
document.getElementById('menu1').style.display = "block";
} else {
document.getElementById('menu1').style.display = "none";
}

PS.
Mit originale script som jeg har hugget fra et andet sted, ser sådan ud.
Måske er der en grund til det, men ovenstående virker i de browsere jeg har
til rådighed, så nedenstående er måske overkill i 2008.

function visskjul(id) {
el = document.all ? document.all[id] :
dom ? document.getElementById(id) :
document.layers[id];
els = dom ? el.style : el;
if (dom){
if (els.display == "none")
els.display = "block";
else els.display = "none";
}
else if (ns4){
if (els.display == "block")
els.display = "none";
else els.display = "block";
}
}


Kim Ludvigsen (21-08-2008)
Kommentar
Fra : Kim Ludvigsen


Dato : 21-08-08 10:46

Philip Nunnegaard skrev:
> "Kim Ludvigsen" <usenet@kimludvigsen.dk> skrev
>
>> Hvordan skal nedenstående link se ud for at virke i alle browsere?
>>
> Jeg går ud fra at det er på grundlag af en anmeldelse på lki.dk.

Jep.

> Jeg ville køre noget med document.getElementById()

Jeg havde overset, at der var et menu-script. Havde jeg set
det, havde jeg slet ikke behøvet genere jer - en af de få
ting, jeg kan forstå mht. JavaScript er, at man ikke skal
bruge document.all.

Jeg vil foreslå dem at skifte til et nyt script, der også
virker i moderne browsere. Det pågældende script er fra 2001
og tjekker for IE4 og NS4.

Man burde egentligt lave en hjemmeside, man kan henvise til,
hver gang nogen bruger disse ældgamle scripts. På
hjemmesiden kan man tilbyde dem en spritny computer med 512
MB ram, 80 GB harddisk, 1 Ghz processor og Windows me. Hele
herligheden skal kun koste 10.000 kroner, og den vil være
perfekt til at vise deres menu.

Jeg tror, jeg venter et par dage, før jeg skriver til dem.
De har jo fire års jubilæum for den spæde begyndelse her den
25. august.

--
Mvh. Kim Ludvigsen
Slå tjenesten Messenger fra, så den ikke kan misbruges til spam.
http://kimludvigsen.dk

Stig Johansen (21-08-2008)
Kommentar
Fra : Stig Johansen


Dato : 21-08-08 15:29

Kim Ludvigsen wrote:

> Jeg vil foreslå dem at skifte til et nyt script, der også
> virker i moderne browsere. Det pågældende script er fra 2001
> og tjekker for IE4 og NS4.

Sådan en lidt mere generel betragtning...
Mange af disse inkompatibiliteter har ikke så meget med nyt og gammelt at
gøre.

Det bunder mere i at 'en vis herre' synes/syntes at det er mere sjovt at
lave sin egen afart af Ecma-/Java-script aka JScript, som i sagens natur
kun virker 100% i den 'rigtige' browser.

--
Med venlig hilsen
Stig Johansen

Philip Nunnegaard (21-08-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 21-08-08 17:00

"Stig Johansen" <wopr.dk@gmaill.com> skrev

> Det bunder mere i at 'en vis herre' synes/syntes at det er mere sjovt at
> lave sin egen afart af Ecma-/Java-script aka JScript, som i sagens natur
> kun virker 100% i den 'rigtige' browser.

Er den tid ikke ved at være forbi?
Jeg synes i hvert fald at det sker sjældnere i dag at jeg render ind i en
side hvis javascripts ikke virker i andre browsere, end det gjorde for 5 år
siden.


Birger Sørensen (21-08-2008)
Kommentar
Fra : Birger Sørensen


Dato : 21-08-08 17:15

Efter mange tanker skrev Philip Nunnegaard:
> "Stig Johansen" <wopr.dk@gmaill.com> skrev
>
>> Det bunder mere i at 'en vis herre' synes/syntes at det er mere sjovt at
>> lave sin egen afart af Ecma-/Java-script aka JScript, som i sagens natur
>> kun virker 100% i den 'rigtige' browser.
>
> Er den tid ikke ved at være forbi?
> Jeg synes i hvert fald at det sker sjældnere i dag at jeg render ind i en
> side hvis javascripts ikke virker i andre browsere, end det gjorde for 5 år
> siden.

Det er jo nok fordi, der i dag anvendes javascript, i stedet for
JScript.
M$ kalder stadig deres javascript for JScript - og svjv, bliver
javascript fortolket som JScript. Men i dag er det blødt at bruge de
ekstra "features" der findes i JScript - de virker kun i IE.

Birger



Stig Johansen (21-08-2008)
Kommentar
Fra : Stig Johansen


Dato : 21-08-08 19:13

Philip Nunnegaard wrote:

> Er den tid ikke ved at være forbi?

Jo, pointen var egentlig bare at årsagen til at 'gamle' ting ikke virker, er
ikke pga alderen, men at nogen 'took the wrong path'.

Det hjælper ikke at opfordre til at bruge et nyt script, hvis det også er IE
specifikt.

Måske ordkløveri, men i forhold til LKI udmeldingerne, kunne man fokusere på
inkompetent valg i stedet for 'gammelt script'.

Det vil muligvis give en kraftigere reaktion.

--
Med venlig hilsen
Stig Johansen

Philip Nunnegaard (21-08-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 21-08-08 19:55

"Stig Johansen" <wopr.dk@gmaill.com> skrev

> Måske ordkløveri,

Egentlig ikke.

> men i forhold til LKI udmeldingerne, kunne man fokusere på
> inkompetent valg i stedet for 'gammelt script'.

Det kan der være noget om.


Kim Ludvigsen (21-08-2008)
Kommentar
Fra : Kim Ludvigsen


Dato : 21-08-08 21:30

Stig Johansen skrev:
> Philip Nunnegaard wrote:
>
>> Er den tid ikke ved at være forbi?
>
> Jo, pointen var egentlig bare at årsagen til at 'gamle' ting ikke virker, er
> ikke pga alderen, men at nogen 'took the wrong path'.

Jeg er ikke helt enig. Ja, Microsoft valgte deres egen sti,
men dengang var der en drabelig browserkrig, hvor det gjaldt
om at komme først med nye, smarte funktioner. Først senere
kom der mere styr på sådan noget som standarder, og så vidt
jeg ved, så har Microsoft i mange år anbefalet brugen af
getElementById i stedet for document.all.

Der kan så stadig være gamle programmører, der hænger fast i
fortiden, ligesom der også stadig er webdesignere, der laver
layout med frames og tabeller. Men det er trods alt ikke
Microsofts skyld.

> Det hjælper ikke at opfordre til at bruge et nyt script, hvis det også er IE
> specifikt.

Langt de fleste document.all-script, jeg har set i
forbindelse med lki.dk har været gamle scripts. De plejer at
afsløre sig selv, fordi de laver browsertjek på NS4.

--
Mvh. Kim Ludvigsen
Læs hvilke fordele Firefox giver, og lær at udnytte
programmets mange muligheder, når du surfer på nettet.
http://kimludvigsen.dk

Stig Johansen (21-08-2008)
Kommentar
Fra : Stig Johansen


Dato : 21-08-08 22:36

Kim Ludvigsen wrote:

> Stig Johansen skrev:
>> Jo, pointen var egentlig bare at årsagen til at 'gamle' ting ikke virker,
>> er ikke pga alderen, men at nogen 'took the wrong path'.
>
> Jeg er ikke helt enig.

He - hvis vi er enige, så får vi jo ingen debat ;)

> Ja, Microsoft valgte deres egen sti,

Det var nu mere 'programmørerne' jeg hentydede til.
Den her sag ... hov, jeg blander vist den sammen med KMD 'sagen'.

> men dengang var der en drabelig browserkrig, hvor det gjaldt
> om at komme først med nye, smarte funktioner.

Jeg har selv rodet med HTML og den slags siden ca. 95-96, så jeg kender godt
browserkrigen, dog har det typisk været et krav at undgå javascript, så der
har jeg ikke de store historiske erfaringer.

> Først senere
> kom der mere styr på sådan noget som standarder, og så vidt
> jeg ved, så har Microsoft i mange år anbefalet brugen af
> getElementById i stedet for document.all.

Ja, men den/de 'sager' du henviser til er tilsyneladende fra 2001.
Her vil jeg mene, at i hvert fald professionelle, burde være bevidst om
(allerede dengang) standarder/brug af samme.

Men på den anden side, så var det vel egentlig kun IE, der blev brugt
dengang ?

Det skal nok også nævnes, at jeg udelukkende har lavet interne ting, hvor
jeg ikke er stødt på kunder der brugte andet end IE siden 1998.

> Langt de fleste document.all-script, jeg har set i
> forbindelse med lki.dk har været gamle scripts. De plejer at
> afsløre sig selv, fordi de laver browsertjek på NS4.

Det tvivler jeg ikke på, men er det fordi man ikke gendte getElementById ?

Den har i hvertfald været implementeret i MS's xmlparser(e) siden sidste
årtusinde.
Men det er ikke nødvendigvis ensbetydende med han også har implementeret den
i sin HTML parser(e).

--
Med venlig hilsen
Stig Johansen

Kim Ludvigsen (21-08-2008)
Kommentar
Fra : Kim Ludvigsen


Dato : 21-08-08 23:23

Stig Johansen skrev:
> Kim Ludvigsen wrote:

>> Først senere
>> kom der mere styr på sådan noget som standarder, og så vidt
>> jeg ved, så har Microsoft i mange år anbefalet brugen af
>> getElementById i stedet for document.all.
>
> Ja, men den/de 'sager' du henviser til er tilsyneladende fra 2001.
> Her vil jeg mene, at i hvert fald professionelle, burde være bevidst om
> (allerede dengang) standarder/brug af samme.

Der var ikke så meget fokus på standarder dengang. Hverken
mht. html eller JavaScript. Jeg ved ikke, hvornår
getElementById blev indført i browserne, men det er med i
W3C's DOM-specifikation fra september 2000 [1]. Og mon ikke
der har været lidt træghed i implementeringen hos
programmørerne, og vel også før Microsoft tog det til sig?

> Men på den anden side, så var det vel egentlig kun IE, der blev brugt
> dengang ?

Vist et godt stykke over 90 procent.

> Det tvivler jeg ikke på, men er det fordi man ikke gendte getElementById ?

Enten det, eller at man var ligeglade på grund af IE's
udbredelse. Selv i dag kan man finde webkreatører, der er
ligeglade med standarder. Og det var trods alt lidt mere
forståeligt dengang, hvor standarder var noget nyt, og langt
de fleste brugte Microsofts "standarder".

[1] http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/DOM.txt

--
Mvh. Kim Ludvigsen
Lav flotte fotomosaikbilleder med Centarsia.
http://kimludvigsen.dk

Birger Sørensen (21-08-2008)
Kommentar
Fra : Birger Sørensen


Dato : 21-08-08 22:49

Kim Ludvigsen skrev den 21-08-2008:
> Stig Johansen skrev:
>> Philip Nunnegaard wrote:
>>
>>> Er den tid ikke ved at være forbi?
>>
>> Jo, pointen var egentlig bare at årsagen til at 'gamle' ting ikke virker,
>> er
>> ikke pga alderen, men at nogen 'took the wrong path'.
>
> Jeg er ikke helt enig. Ja, Microsoft valgte deres egen sti, men dengang var
> der en drabelig browserkrig, hvor det gjaldt om at komme først med nye,
> smarte funktioner. Først senere kom der mere styr på sådan noget som
> standarder, og så vidt jeg ved, så har Microsoft i mange år anbefalet brugen
> af getElementById i stedet for document.all.
>
> Der kan så stadig være gamle programmører, der hænger fast i fortiden,
> ligesom der også stadig er webdesignere, der laver layout med frames og
> tabeller. Men det er trods alt ikke Microsofts skyld.
>
>> Det hjælper ikke at opfordre til at bruge et nyt script, hvis det også er
>> IE
>> specifikt.
>
> Langt de fleste document.all-script, jeg har set i forbindelse med lki.dk har
> været gamle scripts. De plejer at afsløre sig selv, fordi de laver
> browsertjek på NS4.

http://msdn.microsoft.com/en-us/library/14cd3459(VS.85).aspx

sammenligner man objecter i JScript og mozillas javascript, får man at
de er stort set ens, brotset fra, at JScript har
ActiveXObject, arguments, Debug, Enumerator, Global, Regular Expression
og VBArray
som ikke findes i javascript, men til gengæld mangler
EvalError, RangeError, ReferenceError, SyntaxError, TypeError og
URIError
som ikke findes mozillas version af javascript.

"JScript is the Microsoft implementation of the ECMA 262 language
specification (ECMAScript Edition 3)."
Det er det de andre kalder javascript.

document.all eksisterer stadig i bedste velgående - en collection af
alle objecter i det object der præsenterer HTML dokumentet - og det er
forkert at gå ud fra at et script er gammelt fordi det indeholder
document.all
Det kan lige så vel blive skrevet i morgen af en person der henter sin
information, alene gennem MS.

[
all collectionen (som altså kun findes i IE) hører ikke til script, men
til elementerne der repræsenterer HTML, findes i IE også for
elementerne
A, ABBR, ACRONYM, ADDRESS, APPLET, AREA, B, BASE, BASEFONT, BDO,
BGSOUND, BIG, BLOCKQUOTE, BODY, BUTTON, CAPTION, CENTER, CITE, CODE,
COL, COLGROUP, CUSTOM, DD, DEL, DFN, DIR, DIV, DL, document, DT, EM,
EMBED, FIELDSET, FONT, FORM, FRAME, FRAMESET, HEAD, hn, HR, HTML, I,
IFRAME, IMG, INS, KBD, LABEL, LEGEND, LI, LINK, LISTING, MAP, MARQUEE,
MENU, OBJECT, OL, P, PLAINTEXT, PRE, Q, S, SAMP, SCRIPT, SELECT, SMALL,
SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH,
THEAD, TITLE, TR, TT, U, UL, VAR, XMP
- har ikke talt, men det er vel stort dem alle - og kommer vel mere fra
forskelle i fortolkning af DOM end forskelle i script?
]

Søger man på MS sider efter javascript, ender man uvægerligt på sider
der omhandler JScript.
Jeg mener at javascript i IE faktisk bliver fortolket som JScript, og
at der i dag ikke er den helt store forskel.
Det er der til gengæld, hvor det handler om DOM attributer og
egenskaber, som jo også anvendes en del i script.


I forhold til lki.dk, handler det vel om at sider kun anvender
"features" der understøttes af alle - JScript og javascript, MS DOM og
Gecko DOM, og hvad man ellers kan finde på.
At det er gammelt er vel ligegyldigt - hvis det virker...

Min pointe er, at man kan vel dårligt kalde det 'inkompetent' - det er
vel snarere enøjet, specifikt for en bestemt browser.

Birger



Kim Ludvigsen (21-08-2008)
Kommentar
Fra : Kim Ludvigsen


Dato : 21-08-08 23:33

Birger Sørensen skrev:
> Kim Ludvigsen skrev den 21-08-2008:

>> Langt de fleste document.all-script, jeg har set i forbindelse med
>> lki.dk har været gamle scripts. De plejer at afsløre sig selv, fordi
>> de laver browsertjek på NS4.
>
> document.all eksisterer stadig i bedste velgående

Men mon ikke den mest er med på grund af bagudkompatibilitet?

Jeg mener at have set en side, hvor Microsoft anbefaler
brugen af getElementById, men jeg kan selvfølgelig ikke
huske, hvor jeg fandt den.

--
Mvh. Kim Ludvigsen
Læs hvilke fordele Firefox giver, og lær at udnytte
programmets mange muligheder, når du surfer på nettet.
http://kimludvigsen.dk

Birger Sørensen (21-08-2008)
Kommentar
Fra : Birger Sørensen


Dato : 21-08-08 23:57

Kim Ludvigsen har bragt dette til verden:
> Birger Sørensen skrev:
>> Kim Ludvigsen skrev den 21-08-2008:
>
>>> Langt de fleste document.all-script, jeg har set i forbindelse med lki.dk
>>> har været gamle scripts. De plejer at afsløre sig selv, fordi de laver
>>> browsertjek på NS4.
>>
>> document.all eksisterer stadig i bedste velgående
>
> Men mon ikke den mest er med på grund af bagudkompatibilitet?
>
> Jeg mener at have set en side, hvor Microsoft anbefaler brugen af
> getElementById, men jeg kan selvfølgelig ikke huske, hvor jeg fandt den.

Om det er den ene eller den anden årsag, den stadig eksisterer, er vel
for så vidt ligegyldigt. Det kan da godt være, at det er for
bagudcompatibilitet - men det kan lige så godt være det hænger sammen
med MS's måde at behandle DOM på.

document.all er en collection (liste) af alle elementer i dokumentet -
getElementById() er en funktion der returnerer null eller et bestemt
element.
Det er ikke det samme - den ene kan ikke erstatte den anden.

Der er vist ikke nogen, der ikke anbefaler at overholde standarder og
kun anvende de seneste til ny udvikling. Det gælder også MS.
Men der er forskel på hvor langt bagud (og med hvem) man vælger at være
kompatibel. ;>)

Birger



Stig Johansen (22-08-2008)
Kommentar
Fra : Stig Johansen


Dato : 22-08-08 06:24

Birger Sørensen wrote:

> document.all eksisterer stadig i bedste velgående - en collection af
> alle objecter i det object der præsenterer HTML dokumentet - og det er
> forkert at gå ud fra at et script er gammelt fordi det indeholder
> document.all
> Det kan lige så vel blive skrevet i morgen af en person der henter sin
> information, alene gennem MS.

Nu må du ikke blive for teknisk Birger, Kim skrev:
> - jeg behøver vel ikke sige, at jeg ikke har meget styr på
> JavaScript ...

Problemet er nok den implicitte reference til child elements via name
attributten.
Hvis vi tager eksemplet fra SKAT, så er (noget af) kildekoden her:
.....
<body vlink=#0000FF onload=this.tsform.submit()>
<FORM action=/cgi-bin/gweb method=post target=newwin name=tsform>
.....

Bemærk at "tsform" bliver gjort tilgængelig ud fra "name".

Desværre er programmører dovne, så det er noget nemmere(kortere) at bruge
end getElementById. Endvidere kræver det også en id attribut.

Så selv 'i morgen' vil der nok være nogle, der vil blive 'seduced by the
dark side of the source'

--
Med venlig hilsen
Stig Johansen

Birger Sørensen (22-08-2008)
Kommentar
Fra : Birger Sørensen


Dato : 22-08-08 09:26

Stig Johansen:
> Birger Sørensen wrote:
>
>> document.all eksisterer stadig i bedste velgående - en collection af
>> alle objecter i det object der præsenterer HTML dokumentet - og det er
>> forkert at gå ud fra at et script er gammelt fordi det indeholder
>> document.all
>> Det kan lige så vel blive skrevet i morgen af en person der henter sin
>> information, alene gennem MS.
>
> Nu må du ikke blive for teknisk Birger, Kim skrev:
>> - jeg behøver vel ikke sige, at jeg ikke har meget styr på
>> JavaScript ...
>
> Problemet er nok den implicitte reference til child elements via name
> attributten.
> Hvis vi tager eksemplet fra SKAT, så er (noget af) kildekoden her:
> ....
> <body vlink=#0000FF onload=this.tsform.submit()>
> <FORM action=/cgi-bin/gweb method=post target=newwin name=tsform>
> ....
>
> Bemærk at "tsform" bliver gjort tilgængelig ud fra "name".
>
> Desværre er programmører dovne, så det er noget nemmere(kortere) at bruge
> end getElementById. Endvidere kræver det også en id attribut.
>
> Så selv 'i morgen' vil der nok være nogle, der vil blive 'seduced by the
> dark side of the source'

Det blev lidt meget - beklager hvis Kim ikke kan følge med hele vejen.
;>)
Det er dog væsentligt for mig, at all collectionen ikke er en script
ting, men hører til i DOM.
Det gør selvfølgelig ikke den store forskel om skidtet ikke virker,
fordi det er tilpasse JScript eller MS's DOM.
Og under alle omstændigheder er "problemet" vel at programmøren ikke
har skrevet til crossbrowser anvendelse.

Eksemplet med name :
Jeg mener anbefalingerne går på at bruge id - ikke name, og at name
principielt kun eksisterer for elementer i en form og i anchor.

Det er nok den største forskel mellem JScript og javascript - at et
element der gives en id, er tilgængelig som variabel i JScript uden at
skulle bruge hverken document.all[] eller get ElementByID.

Jo, det kan nok lokke nogen af de dovne.
Men det bør det vel ikke - specielt ikke hvis målet er cross-browser
anvendelighed.

Birger



Philip Nunnegaard (22-08-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 22-08-08 11:44

"Birger Sørensen" <sdc@bbsorensen.com> skrev

> Jo, det kan nok lokke nogen af de dovne.
> Men det bør det vel ikke - specielt ikke hvis målet er cross-browser
> anvendelighed.

Jeg er så så doven at jeg finder det nemmere (og også nemmere at overskue)
bare at skrive "document.getElementById('feltnavn')" end
"document.forms.formularnavn.feltnavn".


Birger Sørensen (22-08-2008)
Kommentar
Fra : Birger Sørensen


Dato : 22-08-08 14:39

Philip Nunnegaard tastede følgende:
> "Birger Sørensen" <sdc@bbsorensen.com> skrev
>
>> Jo, det kan nok lokke nogen af de dovne.
>> Men det bør det vel ikke - specielt ikke hvis målet er cross-browser
>> anvendelighed.
>
> Jeg er så så doven at jeg finder det nemmere (og også nemmere at overskue)
> bare at skrive "document.getElementById('feltnavn')" end
> "document.forms.formularnavn.feltnavn".

Godt for dig.

Nu var pointen så, at de dovne vil skrive
feltnavn.value = 'et eller andet';
som man jo kan til IE, uden at fjumre rundt med document eller form
eller ...

Det virker så bare desværre kun i IE - og kan også give lidt bøvl, da
IE vil have problemer med en statement som
feltnavn = document.getElementById('feltnavn');
Den nye variable vil nemlig overskrive det eksisterende element, og
hvis det ikke som her er det samme, er det ligesom at grave et halvt
hul...

Så man skal altså være på vagt, selvom man gør tingene rigtigt, og er
doven nok til at skrive dem som de bør skrives...

Birger



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste