2

XML の文字列を返す JavaScript 関数を使用しています。ただし、IE 内では、XML の文字列にエスケープ文字が埋め込まれて返されます。たとえば、二重引用符は \" " ではなく " エスケープされた文字シーケンス項目を削除する簡単な方法はありますか?
ありがとう、デレク

4

3 に答える 3

2

これを修正する前に、他のどの文字が置き換えられているかを調査する必要があります。たとえば\、他のブラウザでシングルを取得すると\\、IE で取得しますか?

標準の C エスケープが追加されている場合、 は、 、、 、改行などのJSON.parseシーケンスを変換し\"ます。"\\\\n

'foo\\bar\nbaz"' === JSON.parse('"foo\\\\bar\\nbaz\\""')

JSON.parse最近のブラウザでネイティブにサポートされており、特に IE では IE 8 までサポートされています。関連する MSDN ページには次のように書かれています。

次のドキュメント モードでサポートされています: Internet Explorer 8 標準、Internet Explorer 9 標準、Internet Explorer 10 標準。Windows ストア アプリでもサポートされています。バージョン情報を参照してください。

次のドキュメント モードではサポートされていません: Quirks、Internet Explorer 6 標準、Internet Explorer 7 標準。

于 2012-10-01T19:29:21.870 に答える
1

同様の質問: Javascript - 文字列リテラルのエスケープ文字を置き換えるには、エスケープ文字を置き換える方法が説明されています。エスケープ文字を空の引用符に置き換えることはできますか?

于 2012-10-01T19:19:31.690 に答える
0

JavaScript のreplace()メソッドを使用します。

jsFiddle :

var string1 = "This is a string with all the \\\" characters escaped";

document.write(string1);    // outputs: This is a string with all the \" characters escaped

document.write("<br />");

string1 = string1.replace("\\", "");

document.write(string1);    // outputs: This is a string with all the " characters escaped
于 2012-10-01T19:20:08.060 に答える