у меня возникли проблемы с пониманием того, как экранирование работает внутри значений атрибутов тега html, которые являются javascript.
Меня привели к считают, что вам всегда следует избегать & '"<>. Итак, для javascript в качестве значения атрибута я попробовал:
<a href="javascript:alert('Hello');"></a>
Это не работает. Однако:
<a href="javascript:alert('Hello');"></a>
и
<a href="javascript:alert('Hello');"></a>
действительно работают во всех браузерах!
Теперь я полностью запутался. Если все значения моих атрибутов заключены в двойные кавычки, означает ли это, что мне не нужно избегать одинарных кавычек? Или apos и ascii 39 технически разные символы? Таким образом, для javascript требуется ascii 39, но не apos?