Ошибка кода Javascript в IE6 - PullRequest
0 голосов
/ 26 августа 2010

У меня есть этот фрагмент кода на странице php, внизу:

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

Кажется, это не работает в IE6 (не тестировал ни один другой IEверсии пока нет).

Отлично работает в FF, Safari, Opera, Chrome и т. д ... Но, как обычно, IE борется.

Итак, в чем может быть проблема.

Я получаю сообщение об ошибке: "Window.opener.location 'является нулевым или не является объектом" Есть ли обходной путь для этого?

Если вам нужно больше ввода, дайте мнезнать.Спасибо

Кстати: я пытался изменить путь назад и вперед ... без помощи

1 Ответ

1 голос
/ 27 августа 2010

Вы пробовали без href?

И вам все равно следует проверять наличие нуля и неопределенности в зависимости от вашей настройки, возможно, но не вредно, чтобы оно всегда было там, и открыватель мог быть закрыт.

[Кстати: я бы также поставил большой вопрос об использовании 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...