URL で渡される文字列をエンコードしています (GET 経由)。ただし、escape
またはencodeURI
を使用するとencodeURIComponent
、&
は に置き換えられます%26amp%3B
が、 に置き換えたいのです%26
。何が間違っているのでしょうか?
ベストアンサー1
コードを見ないと、当てずっぽうで答える以外に難しいです。 に渡している文字列 (encodeURIComponent()
使用する正しい方法) は、プロパティにアクセスした結果から取得されていると思います。解決策は、代わりにinnerText / textContentプロパティ値innerHTML
を取得することです。
var str,
el = document.getElementById("myUrl");
if ("textContent" in el)
str = encodeURIComponent(el.textContent);
else
str = encodeURIComponent(el.innerText);
そうでない場合は、replace()メソッドを使用して HTML エンティティを置き換えることができます。
encodeURIComponent(str.replace(/&/g, "&"));