都是“#”号惹得祸――URL中“#”号导致无法刷新页面问题

         在做弹出IE窗口刷新父窗口的页面时,发现使用
window.opener.location.href=window.opener.location.href
语句并不是每次都起作用,有时候父窗口对该语句无动于衷,但跟踪代码发现,该语句确实已经执行。
上网搜索,无果,只能自己来查找事情的真相。通过逐个页面测试,我发现了一个规律,父窗口弹出窗口的链接如果是超链接形式,则该条语句一定无效,而使用button方式的则有时有效有时无效。
多年的代码告诉我,代码错,结果就要全错,不确定的错误一般不是当前代码的错误(即隐藏BUG的问题)。就在我努力思索到底哪里会影响该语句执行的时候,浏览器里一个“#”号引起了我的注意,是真是假,亲自试一下才知道。
经过逐个对比,我最终发现,凡是父窗口地址栏中带有“#”号的页面,上述刷新代码均不起作用。而我的页面中,超链接形式的按钮为了避免出现[Object],href属性都设置为了“#”号,而正是这个符号,使从该超链接弹出的窗口无法正常刷新父窗口。而使用到button的页面,则是因为其中混合了超链接形式,使父窗口的URL中带有了“#”号,从而使上述代码失效。
将所有的超链接形式按钮更换成button形式,问题顺利解决。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值