.js bestand en javascript

Status
Niet open voor verdere reacties.

pepweb

Gebruiker
Lid geworden
2 jul 2012
Berichten
18
Hallo mensen,

Ik heb een tijd geleden een .js bestand gemaakt, en die d.m.v. de volgende code in mijn site kunnen zetten:
HTML:
<script language="JavaScript" src="http://www.tooly.myprod.nl/userfiles/spoorlijn/menu-treinen.js"></script>
Nu heb ik weer zo'n menu gemaakt, maar het werkt deze keer niet. Ik doe het op precies dezelfde manier:
HTML:
<script language="JavaScript" src="http://www.tooly.myprod.nl/userfiles/spoorlijn/menu-over.js"></script>
Kan iemand een fout ontdekken?

Met vriendelijke groeten,
Treinen-cool.nl
 
Ik bedoel zit het probleem niet in de dat .js bestand waar je naar linkt
 
Hallo mensen,

Ik heb een tijd geleden een .js bestand gemaakt, en die d.m.v. de volgende code in mijn site kunnen zetten:
HTML:
<script language="JavaScript" src="http://www.tooly.myprod.nl/userfiles/spoorlijn/menu-treinen.js"></script>
Nu heb ik weer zo'n menu gemaakt, maar het werkt deze keer niet. Ik doe het op precies dezelfde manier:
HTML:
<script language="JavaScript" src="http://www.tooly.myprod.nl/userfiles/spoorlijn/menu-over.js"></script>
Kan iemand een fout ontdekken?

Met vriendelijke groeten,
Treinen-cool.nl
Werkt die eerste code dat je poste?

Anders probeer dit eens voor je menu :)
HTML:
<script type="text/javascript" src="http://www.tooly.myprod.nl/userfiles/spoorlijn/menu-over.js" ></script>
 
De eerste code doet het prima. Ik heb jouw code geprobeerd, maar die doet het ook niet. Zit er misschien een fout in de HTML code?
 
Hoi pepweb,
Nop, als er type="text/javascript" bij staat (ipv language="Javascript"), dan is het goed voor de HTML.

Kan iemand een fout ontdekken?
Ja! Ik ontdekte in het tweede script een javascript-foutje. :)
Ergens staat als link naar de pagina met de logo's:
Code:
document.write([B][FONT=Arial][COLOR="#B22222"]'[/COLOR][/FONT][/B]<table border="1"> ... <a href="http://www.treinen-cool.nl/page/logos">Logo[COLOR="#B22222"][B][FONT=Arial]'[/FONT][/B][/COLOR]s</a> ... </table>[B][COLOR="#B22222"][FONT=Arial]'[/FONT][/COLOR][/B]);

Nu is het zo, dat het script de document.write() functie gebruikt, dwz. alles wat erna komt moet als html in de pagina geschreven worden (daarom is het ook 1 lange javascript-regel; kan ook anders, maar dat is hier niet gedaan).
Verder is het in javascript zo, dat een los woord een variabele-naam is.


  • Je kunt dus niet op de stippeltjes van document.write(...) zomaar beginnen met de html-code. Als het om letterlijk in te voegen code gaat, moeten er aanhalingstekens omheen.
  • Het is hier geworden: document.write('...').

Het eerste aanhalingsteken geeft aan dat er geen javascript-code volgt; het tweede aanhalingsteken, dat daarna het javascript weer verder gaat.
Nu zitten er binnen de lange regel ook nog aanhalingstekens: de dubbele aanhalingstekens voor de html-eigenschappen (bv.: href="http://..."). Omdat dit aanhalingstekens van een andere soort zijn, mag dat, en loopt de zaak gewoon door.

Maar nu!
  • In de logo-link staat als tekst: .../logos">Logo's</a>...

Aha, denkt javascript, daar eindigt dus bij de apostrof van logo's wat met het enkele aanhalingsteken van document.write('... is begonnen, en nu moet ik de rest weer als javascript opvatten.
Dat gaat natuurlijk niet: dus het script struikelt! :rolleyes:

Eigenlijk zouden we een 3e soort aanhalingstekens nodig hebben, dan was er niets aan de hand, en kon de apostrof van logo's gewoon blijven bestaan.
Maar de javascript-bedenkers hebben er wat anders op gevonden.
  1. Als een aanhalingsteken/apostrof niet in de javascript-betekenis wordt gebruikt, dan moet het vooraf een "escape"-teken krijgen.
  2. Daarvoor wordt de achteroverhellende slash (backslash) gebruikt: \

Dus als de ' van logo's die escape \ krijgt, gaat het goed:

Code:
[COLOR="#B22222"].../logos">Logo\'s</a>...[/COLOR]

Verder zie ik zo gauw geen ongerechtigheid in het script, dus zo zou het moeten werken.

Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
Bedankt voor de uitleg. Ik begin stap voor stap steeds meer van HTML enz. te leren! Dan ben ik blij dat mensen een goede uitleg geven!
Ik heb het veranderd, en je had gelijk! Hij doet het nu prima! Ik ben heel erg blij.
Nogmaals bedankt, ook de andere voor het meedenken!

Treinen-cool.nl
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan