|
| Standard DOM Fra : JH |
Dato : 22-10-04 17:30 |
|
Er der nogen der kan henvise til bøger/links/titorials om standard DOM?
Jeg synes det meste hedder Javascript, men jeg vil gerne finde
materiale, der omhandler standard DOM og ikke noget proprietært (fx
IE-specifik) scripting.
Mvh
Jeppe
| |
Stig Nygaard (22-10-2004)
| Kommentar Fra : Stig Nygaard |
Dato : 22-10-04 19:52 |
|
Hej Jeppe
JH wrote:
> Er der nogen der kan henvise til bøger/links/titorials om standard DOM?
> Jeg synes det meste hedder Javascript, men jeg vil gerne finde
> materiale, der omhandler standard DOM og ikke noget proprietært (fx
> IE-specifik) scripting.
De bøger jeg lister på
http://www.rockland.dk/show.asp?post=164
er i hvertfald alle fuldt opdaterede til moderne webstandarder og W3C's
DOM-spcifikationer. Og hvis de også skriver om ting der er ikke er
standard, men specifikke for enkelte browsere, så er det tydeligt
angivet. Det er alle engelske bøger som jeg varmt kan anbefale.
Hvis du hellere vil have en dansk bog, så har jeg ikke lige en på hånden
jeg kan anbefale, men jeg kan i hvert fald råde dig til at holde dig
langt væk fra disse 2:
http://www.rockland.dk/show.asp?post=163
http://www.rockland.dk/show.asp?post=167
Jeg er lidt i tvivl om hvad du mener med at "det meste hedder
Javascript", men det ér altså JavaScript du normalt skal bruge når du
arbejder med DOM i en browser. Der er så udvidelser af JavaScript som er
non-standard, og som du skal holde dig fra.
Mvh. Stig
www.rockland.dk
| |
JH (22-10-2004)
| Kommentar Fra : JH |
Dato : 22-10-04 21:23 |
|
Stig Nygaard wrote:
> Hej Jeppe
>
> De bøger jeg lister på
>
> http://www.rockland.dk/show.asp?post=164
>
> er i hvertfald alle fuldt opdaterede til moderne webstandarder og W3C's
> DOM-spcifikationer. Og hvis de også skriver om ting der er ikke er
> standard, men specifikke for enkelte browsere, så er det tydeligt
> angivet. Det er alle engelske bøger som jeg varmt kan anbefale.
>
> Hvis du hellere vil have en dansk bog, så har jeg ikke lige en på hånden
> jeg kan anbefale, men jeg kan i hvert fald råde dig til at holde dig
> langt væk fra disse 2:
>
> http://www.rockland.dk/show.asp?post=163
> http://www.rockland.dk/show.asp?post=167
>
> Jeg er lidt i tvivl om hvad du mener med at "det meste hedder
> Javascript", men det ér altså JavaScript du normalt skal bruge når du
> arbejder med DOM i en browser. Der er så udvidelser af JavaScript som er
> non-standard, og som du skal holde dig fra.
>
>
> Mvh. Stig
> www.rockland.dk
Hej Stig,
Tak for link'et! Interessant side du har, selv om jeg ikke regnede med
at skulle læse ret meget om webudvikling på rockland.dk
Jeg har faktisk lige investeret i både Designing with webstandards og
Web Standards Solutions - The Markup and Style Handbook, og derudover et
par andre bøger, bl.a. Eric Meyer on CSS og More Eric Meyer on CSS. Er
begyndt på Zeldman's bog, og må sige det er ganske interessant læsning!
Jeg er selv een af dem der lærte HTML i slut-90'erne og har ikke fået
opdateret min viden på dette område siden (har brugt min på serside
programmering istedet...). Så det trænger bestemt på tide at suge ny
viden til mig!
Da jeg i sin tid lærte Javascript var der ikke noget der hed fx
GetElementById, og det er den del af javascript jeg mener når jeg siger
standard DOM. Jeg er i tvivl om javascript = DOM, derfor min
formulering. Der er også noget med at der findes DOM 1, DOM 2 - DOM 3? -
og det er dette område jeg gerne vil opdateres på. Men som du siger så
er det altså = Javascript?
Mvh
Jeppe
| |
Jens Peter Karlsen (23-10-2004)
| Kommentar Fra : Jens Peter Karlsen |
Dato : 23-10-04 00:08 |
|
Nej. JavaScript bruges til at tilgå DOM'en.
http://www.w3.org/DOM/
Regards Jens Peter Karlsen. Microsoft MVP - Frontpage.
On Fri, 22 Oct 2004 22:22:31 +0200, JH <spam@spam.com> wrote:
>formulering. Der er også noget med at der findes DOM 1, DOM 2 - DOM 3? -
>og det er dette område jeg gerne vil opdateres på. Men som du siger så
>er det altså = Javascript?
| |
Stig Nygaard (23-10-2004)
| Kommentar Fra : Stig Nygaard |
Dato : 23-10-04 20:10 |
|
Hej Jeppe
JH wrote:
> Tak for link'et! Interessant side du har, selv om jeg ikke regnede med
> at skulle læse ret meget om webudvikling på rockland.dk
Næe, det startede selvfølgelig også som en ren musikside engang
> Jeg har faktisk lige investeret i både Designing with webstandards og
> Web Standards Solutions - The Markup and Style Handbook, og derudover et
> par andre bøger, bl.a. Eric Meyer on CSS og More Eric Meyer on CSS. Er
> begyndt på Zeldman's bog, og må sige det er ganske interessant læsning!
Ja, så har dar du jo allerede mange gode bøger, men mangler måske den
rigtig gode JavaScript-bog? Vil foreslå "JavaScript - The Definitive
Guide". En /rigtig/ god bog, og selvom det måske ikke lige fremgår af
min beskrivelse på siden, så er der brugt *meget* plads på
DOM-programmering.
> Da jeg i sin tid lærte Javascript var der ikke noget der hed fx
> GetElementById, og det er den del af javascript jeg mener når jeg siger
> standard DOM.
Jep, det er også en af de standardiserede metoder beskrevet i W3C's DOM1
standard (Husk bare at det staves getElementById, altså med *lille* "g"
til at starte med . DOM1-metoderne er så blevet integreret i
JavaScript-sproget, så det er stadig JavaScript du programmerer i.
(I princippet kan man godt lave DOM-programmering i andre sprog, men så
følger du ikke den almindelig standard for scripting af websider)
> Der er også noget med at der findes DOM 1, DOM 2 - DOM 3? -
Som er videreudviklinger af DOM. DOM 3 har endnu *meget* lille
browserunderstøttelse, og IE er langfra så langt som konkurrenterne når
det gælder DOM 2 understøttelse. Men du kan læse masser om det i nævnte bog.
Mvh. Stig
www.rockland.dk
| |
JH (24-10-2004)
| Kommentar Fra : JH |
Dato : 24-10-04 01:03 |
|
Stig Nygaard wrote:
> Ja, så har dar du jo allerede mange gode bøger, men mangler måske den
> rigtig gode JavaScript-bog? Vil foreslå "JavaScript - The Definitive
> Guide". En /rigtig/ god bog, og selvom det måske ikke lige fremgår af
> min beskrivelse på siden, så er der brugt *meget* plads på
> DOM-programmering.
>
Ja, nu har jeg kigget lidt på Javascript-bøger på Amazon, og den bog du
nævner får ganske pæne ord med på vejen fra andre købere. Det ser ud til
at være een af de bedste bøger om emnet, så den er allerede lagt på min
Wish List
En anden bog der helt sikkert også bliver investeret i er "JavaScript
and DHTML Cookbook":
http://www.amazon.co.uk/exec/obidos/ASIN/0596004672/ref=cm_mp_wli_/026-3052986-3918045?coliid=IJGHKLMVCB2XF&colid=36H5MC74OFT4I
Og muligvis også "Dynamic HTML: The Definitive Reference":
http://www.amazon.co.uk/exec/obidos/ASIN/0596003161/ref=cm_mp_wli_/026-3052986-3918045?coliid=I3TKG1YXX0ZI8Z&colid=36H5MC74OFT4I
Så er jeg vel også ved at være dækket godt ind...
> Jep, det er også en af de standardiserede metoder beskrevet i W3C's DOM1
> standard (Husk bare at det staves getElementById, altså med *lille* "g"
> til at starte med . DOM1-metoderne er så blevet integreret i
> JavaScript-sproget, så det er stadig JavaScript du programmerer i.
>
Teknisk set hedder det vel ECMAScript, eller? Så vidt jeg husker var det
Netscape's version af ECMAScript, der blev kaldt for Javascript, og
Microsoft's der blev kaldt for JScript. Hvordan hænger det sammen?
Jeg kan se at Javascript efterhånden er nået til version 1.5. Hvad er
der sket af ændringer i de enkelte versioner, og hvilke browsere og
browser-versioner forstår hvilke versioner af Javascript?
> (I princippet kan man godt lave DOM-programmering i andre sprog, men så
> følger du ikke den almindelig standard for scripting af websider)
>
> > Der er også noget med at der findes DOM 1, DOM 2 - DOM 3? -
>
> Som er videreudviklinger af DOM. DOM 3 har endnu *meget* lille
> browserunderstøttelse, og IE er langfra så langt som konkurrenterne når
> det gælder DOM 2 understøttelse. Men du kan læse masser om det i nævnte
> bog.
>
Jamen jeg kan jo næsten ikke vente med at komme i gang med læsningen,
men nu skal jeg jo lige have tygget mig igennem bøgerne om web
standarder og CSS først
Mvh
Jeppe
| |
Stig Nygaard (24-10-2004)
| Kommentar Fra : Stig Nygaard |
Dato : 24-10-04 09:09 |
|
Hej Jeppe
JH wrote:
> Teknisk set hedder det vel ECMAScript, eller? Så vidt jeg husker var det
> Netscape's version af ECMAScript, der blev kaldt for Javascript, og
> Microsoft's der blev kaldt for JScript. Hvordan hænger det sammen?
*Kernen* i JavaScript er standardiseret af ECMA og kaldes ECMAScript,
men alle de udvidelser til sprog-kernen som er browser-specifikke
(f.eks. window og document objekterne) er ikke en del af ECMAScript.
Jeg er i tvivl, men mig bekendt er det stadig AOL/Netscape der formelt
definerer JavaScript-standarden og ejer varemærket?
Da JavaScript er (var?) Netscape's varemærke, valgte Microsoft at deres
officielt hedder JScript. Det skal man dog ikke tænke over til hverdag,
da man selvfølgelig stadig skal angive det som JavaScript i sine
scripts-tags når man laver client-side webudvikling.
Microsofts JScript findes i øvrigt også i en serverside-version man kan
bruge i ASP. Denne indeholder også ECMAScript-kernen, men ikke objekter
som f.eks. window og document, da de ikke er relevante her. Til gengæld
er der så nogle andre objekter som er relevante for
serverside-programmering.
Og nå ja, du kan også bruge JScript som script-sprog i din Windows. Så
er det igen ECMAScript-kernen, men med nogle helt tredje objekter til
rådighed som er relevante til scripting af Windows.
Så der er faktisk en idé i at standardisere ECMAScript-kernen for sig selv.
> Jeg kan se at Javascript efterhånden er nået til version 1.5. Hvad er
> der sket af ændringer i de enkelte versioner, og hvilke browsere og
> browser-versioner forstår hvilke versioner af Javascript?
Ja ja, få du dig nu den JavaScript-bog Men ok,
Netscape6+/Mozilla/Firebird understøtter JavaScript 1.5, Internet
Explorer 6 ligger ca. på JavaScript 1.4 niveau.
Det ser ud til at du har rigeligt med læsestof til lang tid, men jeg har
læst alle de bøger du nævner og de er gode. Så det er ikke spild af tid
Mvh. Stig
www.rockland.dk
| |
Stig Nygaard (24-10-2004)
| Kommentar Fra : Stig Nygaard |
Dato : 24-10-04 09:13 |
|
Hej igen
Stig Nygaard wrote:
> Ja ja, få du dig nu den JavaScript-bog Men ok,
> Netscape6+/Mozilla/Firebird understøtter JavaScript 1.5, Internet
> Explorer 6 ligger ca. på JavaScript 1.4 niveau.
Hmm, ifølge omtalte JavaScript-bog er Microsoft også cirka på JavaScript
1.5 niveau i IE55 og IE6. Det har David Flanagan sikkert mere forstand
på en jeg, så det er hermed rettet
Mvh. Stig
www.rockland.dk
| |
JH (25-10-2004)
| Kommentar Fra : JH |
Dato : 25-10-04 11:08 |
|
Stig Nygaard wrote:
> *Kernen* i JavaScript er standardiseret af ECMA og kaldes ECMAScript,
> men alle de udvidelser til sprog-kernen som er browser-specifikke
> (f.eks. window og document objekterne) er ikke en del af ECMAScript.
God forklaring. Takker.
> Ja ja, få du dig nu den JavaScript-bog Men ok,
> Netscape6+/Mozilla/Firebird understøtter JavaScript 1.5, Internet
> Explorer 6 ligger ca. på JavaScript 1.4 niveau.
>
> Det ser ud til at du har rigeligt med læsestof til lang tid, men jeg har
> læst alle de bøger du nævner og de er gode. Så det er ikke spild af tid
>
Hehe... Ja, nu skal jeg nok stoppe med at være Spørge-Jørgen...
Tak for hjælpen.
Mvh
Jeppe
| |
Lasse Reichstein Nie~ (24-10-2004)
| Kommentar Fra : Lasse Reichstein Nie~ |
Dato : 24-10-04 11:09 |
| | |
Stig Nygaard (24-10-2004)
| Kommentar Fra : Stig Nygaard |
Dato : 24-10-04 11:40 |
|
Hej
Lasse Reichstein Nielsen wrote:
> De definerer (i det omfang de overhovedet findes mere) JavaScript-
> versionerne, som offentliggøres på Netscapes hjemmeside (eller plejede
> at blive? Jeg kan ikke finde den lige nu, men den plejede at være på
> <URL: http://devedge.netscape.com/library/manuals/2000/javascript/1.5/reference/>)
Jep, Netscape lukkede DevEdge for få uger siden. Ret sørgeligt med alle
de gode ting der lå der. Så vidt jeg ved forsøger mozilla.org at få lov
at overtage og hoste indholdet. Indtil videre kan en version dog findes
på web.archive.org:
http://web.archive.org/web/20031215154156/http://devedge.netscape.com/
Netscape er vist i øvrigt ikke helt død. Har i hvert fald hørt at der
skulle komme ny version i starten af næste år. Men i praksis er der vist
ikke så mange der interesserer sig for Netscape mere. Jeg mener at have
set et sted at Netscape 7.2 netop har rundet de 2 mill. downloads, men
sammenlignet med at Firefox Preview Release har nået 5 mill. downloads
på bare én måned, så er det jo ikke noget særligt.
> Det var dog oprindeligt ikke Netscape der havde *varemærket*
> "JavaScript", men Sun, som jo også har varemærket "Java".
> <URL: http://wp.netscape.com/newsref/pr/newsrelease67.html>
> Forvirringen omkring navnet har varet lige side :)
Minder mig om at jeg har set danske webbøger hvor de skriver at Sun
opfandt JavaScript:-/ JavaScript hed i øvrigt oprindelig LiveScript
(eller noget lignende) indtil de licenserede JavaScript varemærket fra SUN.
Mvh. Stig
www.rockland.dk
| |
JH (25-10-2004)
| Kommentar Fra : JH |
Dato : 25-10-04 11:15 |
|
Lasse Reichstein Nielsen wrote:
> De definerer (i det omfang de overhovedet findes mere) JavaScript-
> versionerne, som offentliggøres på Netscapes hjemmeside (eller plejede
> at blive? Jeg kan ikke finde den lige nu, men den plejede at være på
> <URL: http://devedge.netscape.com/library/manuals/2000/javascript/1.5/reference/>)
> I den definition er der også en liste over hvilke versioner af JavaScript
> der var tilgængelige i hvilke browsere. Efter hukommelsen er det:
>
> Netscape JavaScript
> 2 1.0
> 3 1.1
> 4.0-4.05 1.2
> 4.06-4.8x 1.3
> 6 + 7 1.5
Jeg kan ikke rigtig se hvilke MS browser-versioner der understøtter
hvilke Javascript-versioner.
Hvad er iøvrigt smartest ift. at overholde standarderne og samtidig ikke
holde ældre versioner udenfor? Hvis man koder JS 1.5, er der jo en del
browsere som ikke kan lege med (MSIE 5, 5.5). Skal man så holde sig til
v1.3? v1.4?
Mvh
Jeppe
| |
Martin Hintzmann And~ (25-10-2004)
| Kommentar Fra : Martin Hintzmann And~ |
Dato : 25-10-04 13:37 |
|
JH wrote:
>
>
> Jeg kan ikke rigtig se hvilke MS browser-versioner der understøtter
> hvilke Javascript-versioner.
>
> Hvad er iøvrigt smartest ift. at overholde standarderne og samtidig ikke
> holde ældre versioner udenfor? Hvis man koder JS 1.5, er der jo en del
> browsere som ikke kan lege med (MSIE 5, 5.5). Skal man så holde sig til
> v1.3? v1.4?
>
Personligt så koder jeg bare i javascript ... engang imellem falder jeg
så over ting som MSIE5.0 og/eller MSIE5.5 ikke forstår, som f.eks. push
på et array.
Men så kan man heldigvis lave en udvidelse til den eller dem der ikke
forstår det, således:
// Add push array to MSIE 5.0
if (typeof Array.prototype.push == "undefined") {
Array.prototype.push = function() {
var currentLength = this.length;
for (var i = 0; i < arguments.length; i++) {
this[currentLength + i] = arguments[i];
}
return this.length;
};
}
Så mit råd er ... kod og finde bagefter ud af hvad der fejler i de ældre
browsere.
--
Martin Hintzmann Andersen
http://www.hintzmann.dk/
| |
JH (25-10-2004)
| Kommentar Fra : JH |
Dato : 25-10-04 14:05 |
|
Martin Hintzmann Andersen wrote:
> Personligt så koder jeg bare i javascript ... engang imellem falder jeg
> så over ting som MSIE5.0 og/eller MSIE5.5 ikke forstår, som f.eks. push
> på et array.
>
> Men så kan man heldigvis lave en udvidelse til den eller dem der ikke
> forstår det, således:
>
> // Add push array to MSIE 5.0
> if (typeof Array.prototype.push == "undefined") {
> Array.prototype.push = function() {
> var currentLength = this.length;
> for (var i = 0; i < arguments.length; i++) {
> this[currentLength + i] = arguments[i];
> }
> return this.length;
> };
> }
>
> Så mit råd er ... kod og finde bagefter ud af hvad der fejler i de ældre
> browsere.
>
Ja, den bedste måde at sørge for at ens kode ikke går i stykker, er at
check på objekter, i gamle dage var det fx document.images,
document.layers, document.all osv. Denne metode er vel stadig brugbar?
Et eksempel:
function getObj(id)
{
if (document.getElementById)
{
return document.getElementById(id);
}
else if (document.all)
{
return document.all[id];
}
else if (document.layers)
{
return document.layers[id];
}
else return null;
}
Mvh
Jeppe
| |
Martin Hintzmann And~ (25-10-2004)
| Kommentar Fra : Martin Hintzmann And~ |
Dato : 25-10-04 14:48 |
|
JH wrote:
> Ja, den bedste måde at sørge for at ens kode ikke går i stykker, er at
> check på objekter, i gamle dage var det fx document.images,
> document.layers, document.all osv. Denne metode er vel stadig brugbar?
>
Ja, man bør kontrollere på om objecterne/metoderne findes.
Jeg plejer dog at have en funktion "page_init()" som bliver kaldt ved
eventen onload på body elementet.
Her returnere jeg hvis document.getElementById ikke er supporteret.
function page_init() {
if (!document.getElementById) return;
// opsæt siden til nutidens browsere.
}
Ældre browsere for så bare en standard HTML-side, uden funktionelle
nice-to-have-but-dont-need-to-have funktioner.
--
Martin Hintzmann Andersen
http://www.hintzmann.dk/
| |
JH (25-10-2004)
| Kommentar Fra : JH |
Dato : 25-10-04 15:19 |
|
Martin Hintzmann Andersen wrote:
> Ældre browsere for så bare en standard HTML-side, uden funktionelle
> nice-to-have-but-dont-need-to-have funktioner.
>
Hvad gør du i de tilfælde hvor brugeren er afhængig af at javascriptet
fungerer? Den bedste måde at tackle dette på er vel at man netop IKKE
laver noget JS som brugeren er afhængig af (som du selv skriver)?
Mvh
Jeppe
| |
Martin Hintzmann And~ (25-10-2004)
| Kommentar Fra : Martin Hintzmann And~ |
Dato : 25-10-04 15:49 |
|
JH wrote:
>
> Hvad gør du i de tilfælde hvor brugeren er afhængig af at javascriptet
> fungerer? Den bedste måde at tackle dette på er vel at man netop IKKE
> laver noget JS som brugeren er afhængig af (som du selv skriver)?
>
Lige præcis
Jeg kan pt. ikke se at der skulle være noget hvor brugeren er afhængig
af javascript.
Javascript er kun et ekstra eye-candy lag man ligger ovenpå HTML-koden.
Clientside form validering sker således kun for nyere browsere, de ældre
må en smut tur forbi serveren for at få valideret deres form data.
Navigering kan ved hjælp af javascript laves dynamiske på basis af
ganske almindelig HTML-kode. Ældre browser får så ikke dynamiken men kan
stadig navigere rundt.
Ligeledes ved gallerier, tab-paneler, forskellige form controls såsom
repetition-groups, range-sliders, calendar, select-2-select o.s.v.
Alt kan stort set laves så det nedgradere pænt til almindelig HTML-kode,
som kan forståes af de ældre browsere.
--
Martin Hintzmann Andersen
http://www.hintzmann.dk/
| |
Jens Gyldenkærne Cla~ (24-10-2004)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 24-10-04 13:14 |
|
Stig Nygaard skrev:
> Jep, Netscape lukkede DevEdge for få uger siden.
Tjo - det var vist AOL (der tidligere har opkøbt Netscape) der trak
stikket ud til DevEdgde.
> Ret sørgeligt med alle de gode ting der lå der.
I høj grad.
Jeg har primært brugt DevEdges sidebar (direkte opslag i html/css-
specifikationer mv.) - og den blev brugt meget ofte indtil serveren
pludselig var væk.
Jeg har rekonstrueret html- og css-siderne her:
< http://gyros.dk/mozilla/sidebars/devedge.shtml>
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Lasse Reichstein Nie~ (23-10-2004)
| Kommentar Fra : Lasse Reichstein Nie~ |
Dato : 23-10-04 00:17 |
|
JH <spam@spam.com> writes:
> Er der nogen der kan henvise til bøger/links/titorials om standard
> DOM?
Det rigtigt sted til det må jo være hos W3C.
Jeg har en stak link her:
<URL: http://www.infimum.dk/HTML/references.html#ref_1_5>
> Jeg synes det meste hedder Javascript, men jeg vil gerne finde
> materiale, der omhandler standard DOM og ikke noget proprietært (fx
> IE-specifik) scripting.
Jep, det er W3C's DOM-speicifikation du skal have fat i.
Start med Core og HTML, dem understøtter de fleste nogenlunde.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
| |
|
|