[javascript] W3 slikt em nie :(

Pagina: 1
Acties:

  • LollieStick
  • Registratie: Juni 2001
  • Laatst online: 20-05 23:59
Alvorens iedereen gaat schreeuwen wil ik even melden dat ik de search er op nageslagen heb maar niet echt iets relevants heb kunnen vinden.

Op het moment ben ik bezig met een website voor mijn moeder. Het doel is deze volgens de standaarden (HTML4.01 Transitional) te laten functioneren. Nu is het de bedoeling via een javascriptje een random day midi te laten horen. Echter, de pagina valideert helemaal op 1 punt na en dat is hierop:
code:
1
<SCRIPT LANGUAGE='JavaScript'>


De foutmelding die verschijnd is deze:
Line 9, column 29: required attribute "TYPE" not specified (explain...).
<SCRIPT LANGUAGE='JavaScript'>
Een stukkie code uit de pagina:
<SCRIPT LANGUAGE='JavaScript'>
10: page=new Date();
11: if (page.getDate() == 1)
12: document.write("<embed src=coffee.mid width=145 height=60 autostart=true volume=50>");
13:
14: if (page.getDate() == 2)
15: document.write("<embed src=coffee.mid width=145 height=60 autostart=true volume=50>");
16:
17: if (page.getDate() == 3)
18: document.write("<embed src=coffee.mid width=145 height=60 autostart=true volume=50>");
19:
20: if (page.getDate() == 4)
21: document.write("<embed src=coffee.mid width=145 height=60 autostart=true volume=50>");
22:
23: if (page.getDate() == 5)
24: document.write("<embed src=coffee.mid width=145 height=60 autostart=true volume=50>");
25:
26: if (page.getDate() == 6)
27: document.write("<embed src=coffee.mid width=145 height=60 autostart=true volume=50>");
28:
29: if (page.getDate() == 7)
30: document.write("<embed src=coffee.mid width=145 height=60 autostart=true volume=50>");
31:
32: if (page.getDate() == 8)
33: document.write("<embed src=coffee.mid width=145 height=60 autostart=true volume=50>");
34:
35: if (page.getDate() == 9)
36: document.write("<embed src=coffee.mid width=145 height=60 autostart=true volume=50>");
37:
38: if (page.getDate() == 10)
39: document.write("<embed src=coffee.mid width=145 height=60 autostart=true volume=50>");
40:
...

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 09:07
Language bestaat niet meer, dat is tegenwoordig alleen nog type.
Wat heeft jouw code trouwens voor nut?

[ Voor 24% gewijzigd door djluc op 30-01-2004 15:06 ]


Verwijderd

heel basic dit:
HTML:
1
<script type="text/javascript"></script>

  • Arnout
  • Registratie: December 2000
  • Laatst online: 26-05 22:23
Misschien moet je een "TYPE" erbij aangeven? Bijv:

code:
1
 TYPE="text/javascript"


2 seconden Google dit. Volgende keer dus google raadplegen.

[ Voor 35% gewijzigd door Arnout op 30-01-2004 15:06 ]


  • LollieStick
  • Registratie: Juni 2001
  • Laatst online: 20-05 23:59
thanks... het werkt nu :)
* LollieStick volgende keer toch even Google bekijken ;)

Verwijderd

LinuxUser schreef op 30 januari 2004 @ 15:11:
thanks... het werkt nu :)
/me volgende keer toch even Google bekijken ;)
Wat werkt er eigenlijk? :? Ik begin nu ook wel benieuwd te worden naar het nut van die code. ;)

  • We Are Borg
  • Registratie: April 2000
  • Nu online

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Verwijderd schreef op 30 januari 2004 @ 15:15:
[...]

Wat werkt er eigenlijk? :? Ik begin nu ook wel benieuwd te worden naar het nut van die code. ;)
Dat W3 validator nu geen error geeft ;). Daarbij zal het vast een achterliggende gedachte hebben dat TYPE gebruikt moet worden, maar dat kan iemand anders misschien uitleggen :)

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 09:07
We Are Borg schreef op 30 januari 2004 @ 15:16:
[...]


Dat W3 validator nu geen error geeft ;). Daarbij zal het vast een achterliggende gedachte hebben dat TYPE gebruikt moet worden, maar dat kan iemand anders misschien uitleggen :)
Jij bedoeld niet wat de vrager bedoeld. Kijk eens goed naar zijn code, wat zie jij daar voor nut in?

  • We Are Borg
  • Registratie: April 2000
  • Nu online

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
djluc schreef op 30 januari 2004 @ 15:22:
[...]

Jij bedoeld niet wat de vrager bedoeld. Kijk eens goed naar zijn code, wat zie jij daar voor nut in?
Niet eens naar de code gekeken. Ik zie idd het nut van deze code ook niet, maar goed, de TS'er wilde weten waarom W3 error gaf :). Maar idd, erg vaag

  • InZane
  • Registratie: Oktober 2000
  • Laatst online: 09:56
We Are Borg schreef op 30 januari 2004 @ 15:32:
[...]


Niet eens naar de code gekeken. Ik zie idd het nut van deze code ook niet, maar goed, de TS'er wilde weten waarom W3 error gaf :). Maar idd, erg vaag
Mij doet ook niet snappen :?

aarggghh.. midi

  • py.mosjuh
  • Registratie: Oktober 2002
  • Laatst online: 24-10-2022

py.mosjuh

fikkert.net

InZane schreef op 30 januari 2004 @ 15:45:
[...]


Mij doet ook niet snappen :?

aarggghh.. midi
ach ja, je zou natuurlijk ook al die ifs eruit kunnen halen ;) maar ik neem aan dat de ts graag verschillende midis wil gebruiken..

dan is het nog beter om een array met die midis te maken en daaruit random 1 te pikken oid maar goed :+

Kites rise highest against the wind - not with it (Winston Churcill)


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 08:51

RM-rf

1 2 3 4 5 7 6 8 9

We Are Borg schreef op 30 januari 2004 @ 15:32:
[...]


Niet eens naar de code gekeken. Ik zie idd het nut van deze code ook niet, maar goed, de TS'er wilde weten waarom W3 error gaf :). Maar idd, erg vaag
type definieert de mime-type (in het geval van javascript is deze overigens eigenlijk incorrect text/javascript, eigenlijk had dit application/javascript moeten zijn echter de specs van W3C hebben daar ooit een foutje gemaakt, application/javascript werkt nu niet in msie, en overstappen heeft dus geen zin, hooguit om dit als bug-exploit te gebruiken als soort van browsercheck, wat zelf ook weer af te raden is ivm forward-compatibility)

language als attribuut is deprecated, wordt afgeraden om te gebruiken, aangezien het als definitie weinig bruikbaar is,
het is ooit uigedacht om versienummers te kunnen definieren, maar dat blijkt onwerkbaar te zijn (javascript1.1 tot/met javascript1.5, het betekent echter dat de render-engine ook attribuut waardes moet gaan parsen en valideren)

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

ter aanvulling: ook embed is deprecated, daarvoor is het object-element in de plaats gekomen. Ook met betrekking tot browser en platform onafhankelijkheid is het handig om van te voren checken of de client ueberhaupt wel sound-enabled is, welke plugins er voorhanden zijn en welke mime-types die ondersteunen.

Verder zou ik je willen aanraden een switch-case te gebruiken in plaats van herhalende if-statements:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
switch (page.getDate()) {

  case 1:
    // iets
    break;
  case 2:
    // iets anders
    break;
  // etc
  default:
    // niets
}


of inderdaad met behulp van de getDate returnvalue een item uit een array pakken, in welk geval je nog maar 2 regels code nodig hebt:

JavaScript:
1
2
var midis = ['midi1.mid','midi2.mid',....'midi31.mid'];
document.write('<object type="audio/midi" data="' + midis[new Date.getDate() - 1] + '" autostart="true"></object>');


note dat hoe de object-tag eruit moet zien afhankelijk is van de browser en de beschikbare plugins; dit is slechts een illustratie.

[ Voor 7% gewijzigd door crisp op 30-01-2004 16:25 ]

Intentionally left blank


Verwijderd

Ter aanvulling: JS heeft geen mime-type en als IE ook maar iets over het mime-type van JS wil weten, kijken ze in een RFC en niet in de HTML Spec.

Het meest correcte mime-type voor JS is 'application/x-javascript' de prefix is er omdat het niet geregistreerd staat.

  • creative8500
  • Registratie: September 2001
  • Laatst online: 03-01 16:54

creative8500

freedom.

Aanvulling: zelfs Netscape 2 gebruikt application/x-javascript! :o
Pagina: 1