Autor Zpráva
hexcross
Profil
Snažím se používat JavaScript bez frameworku jQuery a narazil jsem na tento problém :

Podle Základy syntaxe JavaScriptu

Jsem si vytvořil odkaz s alertem :
<a href="#" onmouseover="alert(\"AHOJ\")">Klikni na me!</a>

Ale konzole mi vypíše syntax error ačkoliv to podle všeho escapuju dobře...v čem je problém? Nějak tomu nerozumím...

Díky..
Someone
Profil
Použij apostrofy:
hexcross:
<a href="#" onmouseover="alert('AHOJ')">Klikni na me!</a>
hexcross
Profil
Someone:
Tak to vim...ale já tam chci použít ty dvojitý uvozovky...

Edit : Escapovat umím, v normalním příkazu document.write("Řekl jsem jí \"táhni\" "); to funguje, ale v tomhle inline JS se to nedá použít? Není to nutný, ale spíše mě překvapuje že to je na tom webu uvedený a nejde to..
Kajman
Profil
Ale v tohmle případě nesmíte escapovat uvozovky z hlediska javasciptu, ale z hlediska html.
<a href="#" onmouseover="alert(&quot;AHOJ&quot;)">Klikni na me!</a>
peta
Profil
hexcross: zajimave
Escape sekvence

Pokud je nějaký speciální znak, který JavaScript interpretuje, potřeba zapsat do stránky, musí se využít tzv. escape sekvence. Před ten znak se napíše zpětné lomítko. Nejčastěji se to používá u uvozovek. Předchozí příklad lze zapsat i takto:

<img onmouseover="alert(\"AHOJ\")">

<img onmouseover="alert(\"AHOJ\")"> // FF konzola pri mouseover pise illegal character
<img onmouseover='alert("AHOJ")'>
<img onmouseover=alert("AHOJ")> // tady mi to diskuze meni, puvodni kod je  onmouseover=alert("AHOJ")
<img onmouseover="alert(function(){return \"AHOJ\";})> // FF  pri mouseover pise illegal character
<img onmouseover=alert(&quote;AHOJ&quote;)> // FF pise syntax error, opet diskuse zasahuje onmouseover=alert(&quote;AHOJ&quote;)
V IE9 to take nejde. Vypada to na nejake super skvele novinky, jestli to podle jpw nekdy fungovalo :)
suvel
Profil
Pravdu má Kajman, v html řádku odnepaměti skutečně nelze použít \"
hexcross
Profil
Ok díky za objasnění :)
_es
Profil
peta:
znak, který JavaScript interpretuje
Až na to, že ho neanalyzuje JS, ale HTML parser.
peta
Profil
_es: To je citace z jpwze stranky, o ktere psal hex. Základy syntaxe JavaScriptu
_es
Profil
peta:
To je citace z jpwze stranky, o ktere psal hex. Základy syntaxe JavaScriptu
Aha, to vyzerá na chybu v tom článku, asi by sa tom zišlo informovať autora (odsek „Escape sekvence“).
Bubák
Profil
_es:
asi by sa tom zišlo informovať autor
Stačí použít mail, odkaz Kontakt je na každé stránce dole.
Mail jsem s upozorněním na chybu jsem Yuhůovi před okamžikem odeslal.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0