我有一个页面位于x.com。在此页面上有一个按钮,点击该按钮后,它将启动一个新窗口(使用javascript的window.open()方法)到位于z.com的页面。弹出窗口会执行一些操作,然后根据弹出窗口中定义的一些参数将原始窗口(opener,x.com)重定向到不同的页面。Iframe/Popup重定向打开窗口
这适用于Firefox/Chrome浏览器,但不适用于IE浏览器。在IE中(特别是8,但我相信7也有这个问题)原始窗口(opener)没有重定向。相反,会出现一个新窗口,并将该窗口重定向。
我已经尝试了很多不同的方法来尝试并使其工作,包括将弹出窗口更改为加载到页面上的iframe,并在弹出窗口/ iframe调用的开启器上具有函数。问题似乎是,IE拒绝允许跨域网站通过JavaScript互相交谈。
有没有办法解决这个问题?如何根据弹出窗口或iframe中的参数让父窗口重定向到页面?
编辑:
下面是一些样本代码:
在上domainA.com一个页面,我有这样的:
<img src='/images/test.png' onclick="window.open('http://www.domainB.com/item.aspx', 'name', 'width=100,height=100,menubar=no,status=no,toolbar=no');" />
在item.aspx上domainB.com我在javascript中有这个:
opener.location.href = 'http://www.somethingelse.com/';
In Fir efox/Chrome,这工作正常。在IE中,当domainB.com尝试在opener(也就是父窗口,即domainA.com)上设置location.href时,它会打开一个新窗口,这不是我想要的。我希望它将开启者(父窗口)重定向到我指定的URL。
巴拉
你能显示一些代码吗? – 2010-06-10 21:01:39
检查我的编辑代码。 – Bara 2010-06-10 21:20:57