IE6中的Javascript代码错误

时间:2010-08-26 16:42:20

标签: javascript internet-explorer

我在php页面上有这段代码,在底部:

window.opener.location.href="/index.html";
setTimeout("self.close();",3000);

这似乎不适用于 IE6 (尚未测试任何其他IE版本)。

它在FF,Safari,Opera,Chrome等方面运行良好......但像往常一样,IE仍在努力。

那么,可能是什么问题。

我得到的错误消息是:“'Window.opener.location'为null或不是对象” 有没有解决方法呢?

如果您需要更多输入,请告诉我。 感谢

顺便说一句:我试过来回改变路径......没有帮助

1 个答案:

答案 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