以下JavaScript可在Chrome中完美地替换字符串:
myUrl = someUrl.replace('%2C%7B%22itn%22%3A%5B%22%20guidelines%20%22%5D%7D', '');
但在Internet Explorer中无法替换字符串。
它似乎与IE如何处理%22
有关,就好像我调试此代码并将%22
替换为"
,它在调试中有效。如果我尝试在脚本本身中执行此操作,则Chrome和IE中都会出现错误。
如何让这个脚本跨浏览器工作?
答案 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/, '');