/ 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
Er der nogen der har været udsat for det?
Fra : Severino


Dato : 11-01-04 23:23

Jeg har i et par tilfælde, hvor jeg har includeret noget JavaScript, været
udsat for, at det ikke ville køre.
Det viste sig at det program jeg bruger, lagde som den første linie i filen
følgende:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">

Hvis jeg fjernede denne linie og lagrede filen igen, så havde den lagt
linien ind igen.
Når jeg så bad om kildeteksten i min IE 6,0 og det blev vist i Notepad, og
jeg fjernede linien og lagrede filen, hvorefter jeg opdaterede siden, så
kørte det.

Der må være et eller andet som spænder ben for afviklingen af det JavaScript
som jeg havde brugt.
Den ovenstående linie står jo uden for <HTML> </HTML> så måske er det
årsagen???

Severino



 
 
Daniel (12-01-2004)
Kommentar
Fra : Daniel


Dato : 12-01-04 00:16

Severino wrote:
> Jeg har i et par tilfælde, hvor jeg har includeret noget JavaScript, været
> udsat for, at det ikke ville køre.
> Det viste sig at det program jeg bruger, lagde som den første linie i filen
> følgende:
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
>
> Hvis jeg fjernede denne linie og lagrede filen igen, så havde den lagt
> linien ind igen.
> Når jeg så bad om kildeteksten i min IE 6,0 og det blev vist i Notepad, og
> jeg fjernede linien og lagrede filen, hvorefter jeg opdaterede siden, så
> kørte det.
>
> Der må være et eller andet som spænder ben for afviklingen af det JavaScript
> som jeg havde brugt.
> Den ovenstående linie står jo uden for <HTML> </HTML> så måske er det
> årsagen???
>
> Severino
>
>
Nej, den linje skal stå uden for HTML-tagsne - det er en besked til
browseren om hvilken type dokument, den skal til at læse. Derimod har
det nok noget at gøre med den version, den skriver, altså 4.0 - jeg har
ikke tjek på hvilke features, der blev introduceret i hvilke
HTML-versioner, men det er bestemt ikke utænkeligt, at eksterne
javascripts ikke var noget, der var defineret, da 4.0 blev specificeret.

Så vidt jeg husker, plejede min Dreamweaver at putte 4.0-tags som den,
du beskriver ind, selvom dokumentet blev tilføjet scripts/features som
var nyere - det afhænger af, hvor intelligent din editor er, om den kan
finde ud af at skrive det korrekte tag. Tjek evt. w3c's hjemmeside - der
er en frygteligt masse info, men sikkert også nogle links til
programmer, der kan udregne den korrekte DOCTYPE-tag.

Daniel :)


Erik Ginnerskov (12-01-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 12-01-04 00:38


"Severino" <infomail@tdcadsl.dk> skrev

> Jeg har i et par tilfælde, hvor jeg har includeret noget JavaScript, været
> udsat for, at det ikke ville køre.
> Det viste sig at det program jeg bruger, lagde som den første linie i
filen
> følgende:
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">

Prøv med denne version - indsat øverst i dokumentet som før:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

Så skulle der ikke være problemer med dit javascript.

--
Med venlig hilsen
Erik Ginnerskov
http://www.hjemmesideskolen.dk - http://www.html-faq.dk
http://hjem.get2net.dk/egin



Lasse Reichstein Nie~ (12-01-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 12-01-04 01:10

"Erik Ginnerskov" <eginNOSPAM@html-faq.dk> writes:

> Prøv med denne version - indsat øverst i dokumentet som før:
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
> "http://www.w3.org/TR/html4/loose.dtd">
>
> Så skulle der ikke være problemer med dit javascript.

Tjo, det tror jeg såmend nok.

Det DOCTYPE-erklæringen gør, ud over at være påkrævet hvis man vil
skrive korrekt HTML, er at markere for nye browsere at de skal
behande siden korrekt. Uden den, eller med nogle udvalgte DOCTYPE'er,
vil nye browser (IE 6, Mozilla, Opera 7, sikkert også KHTML-baserede
browsere) gå i "kompatabilitets-tilstand" (også kendt som "quirks mode")
hvor de efterligner de fejl der var i ældre browsere (speciale IE 4).

Der er nogle links om det her:
<URL:http://www.infimum.dk/HTML/references.html#ref_1_6>

Hvis man skriver nye sider, så *bør* man skrive dem til standards
mode. Ellers er de slet og ret forkerte efter moderne standarder.

En af forskellene mellem Standards Mode og Quirks Mode, og den der
faktisk kan mærkes i Javascript (resten af forskellene er
hovedsageligt inden for CSS), er at roden i dokumentet hedder
document.documentElement (svarer til <html>-elementet) og ikke
document.body. Det gør ikke den store forskel, ud over at fx
document.body.scrollTop ikke virker som man forventer. Det er nok de
nævnte scripts knækker halsen.

Den DOCTYPE du angav,
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
vil også sætte browserne i Standards mode (ifølge MS-notation er den
"HTML 4.0", "Transitional" med "URL present") så den løser næppe
problemet.

Det gør det af fjerne DOCTYPE'en heller ikke, fordi problemet er scriptet.
Det fjerner bare symptomerne.

/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.'

Erik Ginnerskov (13-01-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 13-01-04 17:34


"Lasse Reichstein Nielsen" <lrn@hotpop.com> skrev

> > Prøv med denne version - indsat øverst i dokumentet som før:
> >
> > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
> > "http://www.w3.org/TR/html4/loose.dtd">
> >
> > Så skulle der ikke være problemer med dit javascript.
>
> Tjo, det tror jeg såmend nok.
>
> Det DOCTYPE-erklæringen gør, ud over at være påkrævet .....

Jeg har opfattet symptombeskrivelsen sådan, at html 4.0 åbenbart ikke kan
lide det pågældende script. Da jeg aldrig har observeret javascriptproblemer
med næste udgave af html-standarden (4.01), foreslog jeg ovenstående.

Nu skal så dertil siges, at min kunnen udi javascript kan ligge på et ret
lille sted, så det ...

Du har sikkert ret.

--
Med venlig hilsen
Erik Ginnerskov
http://www.hjemmesideskolen.dk - http://www.html-faq.dk
http://hjem.get2net.dk/egin



Jens Gyldenkærne Cla~ (13-01-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 13-01-04 18:27

Erik Ginnerskov skrev:

> Jeg har opfattet symptombeskrivelsen sådan, at html 4.0
> åbenbart ikke kan lide det pågældende script. Da jeg aldrig
> har observeret javascriptproblemer med næste udgave af
> html-standarden (4.01), foreslog jeg ovenstående.

Der er ingen browsere der skelner mellem HTML 4 og HTML 4.01.
Browsere skelner sådan set heller ikke specielt mellem html og
xhtml - de bruger bare det regelsæt der er lagt ind i dem fra
fødslen.

Når valg af doctype alligevel har betydning, er det fordi nyere
browsere (bl.a. IE6, Mozilla, Opera 7 m.fl.) har indbygget to
forskellige regelsæt. Det ene regelsæt er en simpel videreførsel af
regelsættet fra ældre browsere - det kaldes ofte "quirks mode". Det
andet regelsæt er indført fordi de gamle regelsæt i praksis
blåstemplede en masse ting der ikke var korrekt efter gældende
internetstandarder. Det kaldes så standardmode. Browseren afgør
selv ved visningen af en side om den skal benytte quirks eller
standard mode. Det valg afgøres af doctypeerklæringen - ikke selve
doctypen, men den måde man erklærer den på. Der er en række
erklæringer der trigger standardmode og en anden række der trigger
quirks mode.

Når der er forskel på en side med og uden doctype - eller med to
forskellige doctyper - er det et resultat af valget mellem disse to
regelsæt. Det er det eneste der betyder noget.


> Nu skal så dertil siges, at min kunnen udi javascript kan
> ligge på et ret lille sted, så det ...

Samme her. Til gengæld mener jeg at vide lidt om doctype switching.
--
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~ (13-01-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 13-01-04 19:37

"Erik Ginnerskov" <eginNOSPAM@html-faq.dk> writes:

> Jeg har opfattet symptombeskrivelsen sådan, at html 4.0 åbenbart ikke kan
> lide det pågældende script. Da jeg aldrig har observeret javascriptproblemer
> med næste udgave af html-standarden (4.01), foreslog jeg ovenstående.

Javascript og HTML-version har ingen indflydelse på hinanden. Det der
betyder noget er DOM-versionen, om noget. Den er der forskel på mellem
standards- og quirks-tilstandene.

Generelt er browsere fuldstændigt ligeglade med hvilken version af HTML
man bruger, de forsøger blot at forstå så meget som muligt. Det er derfor
de så nemt har kunne bruge DOCTYPE-erklæringen til noget andet, at markere
om de skal bruge quirks-tilstand.

Fordelen ved at bruge korrekt HTML er at man er sikker på at browserne
fortolker det ens.

/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.'

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste