Изменение window.location.href в Firefox в ответ на событие onunload - PullRequest
1 голос
/ 01 марта 2010

У меня странная проблема с JavaScript при использовании window.location.href, которая, по-видимому, влияет только на Firefox (я использую 3.6).

Обычно window.location.href не был бы доступен только для чтения, и это отлично работает в FF:

window.location.href = "http://google.com/";

Однако, когда я вызываю функцию в ответ на событие onunload (), это работает не так, как ожидалось:

function testThis() {
    alert ("1: " + window.location.href);
    window.location.href = "http://google.com/";
    alert ("2: " + window.location.href);
    return false;
}

В обоих случаях предупреждение отображает текущее местоположение страницы в FF без внесения изменений. Нет ошибок JavaScript, и событие onunload успешно вызывает функцию, поэтому проблема заключается в редактировании или замене значения window.location.href.

Я пытался использовать window.location, document.location.href, даже пытался изменить window.location.search. Возможно ли, что событие, в частности событие onunload, заставит window.location.href стать доступным только для чтения?

Ответы [ 2 ]

5 голосов
/ 01 марта 2010

Да, чтобы вредоносные веб-страницы не блокировали выход пользователя.

0 голосов
/ 26 февраля 2011

Для записи Firefox, похоже, использует document.location вместо document.location.href.

...