近来的项目中发现一个问题
用 window.open 方式打开的窗口在IE下并没有真正执行URL,需要在新打开的窗口中刷新一下才有效,而其它浏览器却没有问题
就是每次用IE打开的就是“找不到服务器,无法打开网页”,跟踪代码没有进去对应的 action
而刷新一下才进去对应的 action
google 百度都搜遍了居然也找不到有人报过这样的问题
好不容易在国外网站上发现描述一样的问题
[url]http://bytes.com/topic/javascript/answers/756080-window-open-works-firefox-but-not-ie6-7-a[/url]
可是老外们也没有给出解决方法
难道真的没辙了??
偶然发现 URL 中包含有中文(非编码后)
于是将 URL encode 一下,靠,居然没事了!!!
原来是编码作怪啊
后来经过测试发现不只是 window.open
其它方式包括 <a> showModelDialog =URL中存在中文这问题都存在
以后为保险起见,在IE下都将URL先 encodeURI(URL)
用 window.open 方式打开的窗口在IE下并没有真正执行URL,需要在新打开的窗口中刷新一下才有效,而其它浏览器却没有问题
就是每次用IE打开的就是“找不到服务器,无法打开网页”,跟踪代码没有进去对应的 action
而刷新一下才进去对应的 action
google 百度都搜遍了居然也找不到有人报过这样的问题
好不容易在国外网站上发现描述一样的问题
[url]http://bytes.com/topic/javascript/answers/756080-window-open-works-firefox-but-not-ie6-7-a[/url]
可是老外们也没有给出解决方法
难道真的没辙了??
偶然发现 URL 中包含有中文(非编码后)
于是将 URL encode 一下,靠,居然没事了!!!
原来是编码作怪啊
后来经过测试发现不只是 window.open
其它方式包括 <a> showModelDialog =URL中存在中文这问题都存在
以后为保险起见,在IE下都将URL先 encodeURI(URL)
function encode(URL){
if(navigator.appName==="Microsoft Internet Explorer"){
URL = encodeURI(URL);
}
return URL;
}