JavaScript替换在Chrome中对IE的行为有所不同

时间:2014-01-21 07:21:08

标签: javascript internet-explorer google-chrome

以下JavaScript可在Chrome中完美地替换字符串:

myUrl = someUrl.replace('%2C%7B%22itn%22%3A%5B%22%20guidelines%20%22%5D%7D', '');

但在Internet Explorer中无法替换字符串。

它似乎与IE如何处理%22有关,就好像我调试此代码并将%22替换为",它在调试中有效。如果我尝试在脚本本身中执行此操作,则Chrome和IE中都会出现错误。

如何让这个脚本跨浏览器工作?

1 个答案:

答案 0 :(得分:0)

Internet Explorer中的known bug不会在网址的query string部分中对"进行编码。在使用%22"时尝试替换网址。

例如,可以使用regular expression执行此操作:

myUrl = someUrl.replace(/%2C%7B%22itn(?:%22|")%3A%5B(?:%22|")%20guidelines%20(?:%22|")%5D%7D/, '');