我有一个应用程序,它使用window.open(url)启动弹出,如下所示。
函数goRelURL(){ winObj=window.open(url,"w1");winObj.focus();}
从弹出式窗口,我关闭弹出点击一个按钮。在单击时调用一个方法,然后设置父窗口的URL,并将弹出窗口关闭为:
window.opener.location.href='<%=url%>';window.close();
这在IE6、IE8和Firefox3.0的WIN-XP中都能很好地工作。但是它在Windows7的IE8中失败了。使用win-7设置弹出窗口的url,弹出窗口保持打开。
任何帮助都是非常感谢的。
发布于 2011-03-18 15:45:27
我也遇到了类似的问题,我们的内联网网站在网上打电话给第三方订购系统,还有一些数据传回等,这个呼叫是呼叫页面刷新和整个过程的关键。只有当在安全区域之间进行更改时,如果安全区域相同,则仅会出现Windows 7和IE8的问题。
本质上,问题似乎是IE8不再允许您在不同安全区域内的站点之间发送数据,它失去了window.opener的跟踪,只要两个站点在其中,您在区域中实际拥有的安全设置似乎并不重要。
所以我最初的“解决方案”是
在Windows7和IE8上,通过更改因特网选项下的设置,-> ->启用保护模式(需要重新启动IE)将使其再次工作,尽管我还没有发现为什么和其他副作用。
这显然影响到您运行的每个站点,我的假设是,这使它恢复了以前的工作方式,尽管我仍然不完全理解为什么打开保护模式==“禁用系统关键安全功能”,当然启用保护模式应该受到更多的保护,或者它的设置很糟糕!
无论如何,不管怎么说,通过将internet上的站点添加到受信任的站点中,并且本质上将其视为intranet站点,您可以获得相同的“修复”。反之亦然,问题在于保护模式的改变。
我在同一个窗口中运行站点也取得了一些成功--尽管我认为我重新编码并设置了窗口位置,并消除了对window.opener的需求。
https://stackoverflow.com/questions/3102491
复制相似问题