我在php页面上有这段代码,在底部:
window.opener.location.href="/index.html";
setTimeout("self.close();",3000);
这似乎不适用于 IE6 (尚未测试任何其他IE版本)。
它在FF,Safari,Opera,Chrome等方面运行良好......但像往常一样,IE仍在努力。
那么,可能是什么问题。
我得到的错误消息是:“'Window.opener.location'为null或不是对象” 有没有解决方法呢?
如果您需要更多输入,请告诉我。 感谢
顺便说一句:我试过来回改变路径......没有帮助
答案 0 :(得分:1)
你没试过href吗?
你应该检查null无论如何也可能是未定义的,这取决于你的设置,但是总是在那里没有任何伤害,并且开启者可能已经关闭。
[旁白:我也会对使用IE6提出一个很大的问题,根据我的经验,它会在大多数网络项目中增加JS和CSS问题的成本。甚至(大多数 - 根据我的经验)将其列为必须的客户最终会陷入并升级到IE7或更高版本,当他们看到IE6规定的成本占多少时。]
...
var target="/relative/path";
...
if(opener===null||opener===undefined||opener.closed){
opener=window.open(target); // our opener is gone or unavailable, go with new (or could set a warning/error here, etc)
}
else{
opener.location=target; // redirect the opener
}
...
//set timeout to close popup here