window.open IE 下要刷新才有效的解决方法

近来的项目中发现一个问题
用 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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值