Я пытаюсь получить буквальное содержимое некоторых элементов HTML, без кодирования амперсандов .Кажется, я не могу найти способ сделать это.
Пример: если я задаю URL:
http://www.google.com?q=foo&bla=bar&kitties=yay
для тега привязки и попытаюсь получить его снова с помощью innerHTMLили с помощью XMLSerializer.serializeToString () URL-адрес (как href) возвращается как:
http://www.google.com?q=foo&bla=bar&kitties=yay
(первый некодированный амперсанд был закодирован, а закодированный амперсанд неизменен [все еще закодирован, недвойное кодирование])
Я знаю, что эта закодированная версия, которую браузер возвращает мне, является правильным (ed) HTML и обычно не вызывает проблем, но у меня есть люди, которые просматривают эти URL и не понимают этого.& is &, и кто будет копировать и вставлять URL, чтобы проверить это.Я также не думаю, что безопасно декодировать URL-адрес, так как часто эти URL-адреса имеют закодированные URL-адреса в конце, которые должны оставаться закодированными, и, похоже, они не кодируются дважды.Я полагаю, это также неверно, так как URL исправлен и не «закодирован» как таковой.Мне также нужна часть HTML-тега (например, <a>
), поэтому я не могу просто получить nodeValue / innerText / textContent / data.
Любые предложения, которые были получены, - я бы добавил jsfiddle, но даже этокодирует вещи, так что это не полезно!Извините, если это очевидно, но я застрял!