一部のHTML要素のリテラルコンテンツをエンコードアンパサンドなしのリテラルコンテンツを取得しようとしています。私はこれを行う方法を見つけることができないようです。アンパサンドをエンコードせずにJavaScriptのHTML要素のリテラル値を取得する
例: 私はURLを設定した場合:アンカータグに
http://www.google.com?q=foo&bla=bar&kitties=yay
を、そしてinnerHTMLプロパティを持つ、またはXMLSerializer.serializeToStringを(使用して再度検索してみてください)(HREFなど)URLが来ますバックとして:
http://www.google.com?q=foo&bla=bar&kitties=yay
(最初の非コードさアンパサンドが符号化された、符号化アンパサンドが変更されていない[まだ符号化され、符号化された二重にしない])
私は、このエンコードされたバージョンがブラウザに戻ってきたことを知っています.HTMLで問題はありませんが、私はこれらのURLを見ている人には理解できません。& amp; &であり、誰がURLをコピーして貼り付けて検証しますか?私はまた、これらのURLがエンコードされたままにしておく必要があり、最後にエンコードされたURLを持っていることが多く、ダブルエンコードされていないように見えるため、URLのデコードが安全だとは思わない。私はURLが修正され、 "エンコードされていない"ので、これも間違っていると思います。 HTMLタグの部分(例えば、<a>
)が必要なので、単にnodeValue/innerText/textContent/dataを取得することはできません。
どのような提案も歓迎されました。私はjsfiddleを含めることもできます申し訳ありませんが、これは明らかですが、私は立ち往生している!
マーク生のHTMLとして扱うStackOverflowのを停止するコードとしてURIを。 (私は自分自身でそれを修正したいと思いますが、元の値が何であるかはわかりません) – Quentin
問題を引き起こしているリンクにHTMLを含めることはできますか?また、動作しないJavascriptも含めて役立つ場合があります。 –
ありがとうQuentin - 完了: – user82116