Autor Zpráva
Pietro
Profil
Dobrý den,
narazil jsem na problém, kdy se mi entity v prohlížečích vykreslují, i když by neměly. Zkuste si třeba napsat do stránky &amp (bez středníku!). Zobrazí se jako ampersand. &reg taky.

Narazil jsem na to náhodou, ale docela mne to štve. Dělám na aplikaci, která funguje na AJAXu, a dělám permalinky. Všude to funguje jak má, jenom blbej explorer mi při rozdělení GET do pole jiného pole píše &reg, jelikož mám ve formuláří select region. Achjo, budu to muset přejmenovat, jiný řešení jsem nenalezl. (Ano, & nemůžu použít, je to v JS)
Měsíček
Profil
Ano, protože středník na konci entity dává na vědomí, že další znaky nemají být použity jako název entity, ale jako další úsek textu.

Proto funguje i &amp
Chamurappi
Profil
Reaguji na Pietro:
Zkuste si třeba napsat do stránky &amp (bez středníku!). Zobrazí se jako ampersand.
Středník není povinný. Je to tak, jak píše Měsíček. Prohlížeč čte znak po znaku název entity a jakmile narazí na středník nebo na znak nedovolený v názvu entity, považuje entitu za kompletní a zpracuje ji. V Exploreru je pár odchylek od tohoto pravidla, na jednu jsi narazil se svým „&region“em.

(Ano, & nemůžu použít, je to v JS)
Můžeš použít „&“, je to v HTML. Kdyby to totiž skutečně bylo interpretované jen v JS, tak se ti nepřekládají entity. Předpokládám, že adresu dáváš do nějakého innerHTML, kde pochopitelně platí všechna pravidla pro rozebírání HTML kódu — proto se interpretuje „&reg“, a proto se bude interpretovat i „&“.

Vaše odpověď

Mohlo by se hodit

Nezapomeňte na odkaz na živou ukázku problému.

Prosím používejte diakritiku a interpunkci.

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