JavaScript: будет ли window.location делать какие-либо предупреждения? - PullRequest
1 голос
/ 02 февраля 2012

Если я использую window.location = ""; для перенаправления пользователя, будут ли какие-либо браузеры давать пользователю предупреждающее сообщение (поскольку страница перенаправляется без согласия пользователя)?

Должен ли я использовать window.location = "" или window.location.href = ""?

Ответы [ 4 ]

2 голосов
/ 02 февраля 2012

Нет, вы можете самостоятельно перенаправить расположение окна. Единственная похожая вещь, которую вы не можете сделать автоматически, это щелкнуть ссылку для пользователя с событием.

Возможно, вы думаете об этом типе уведомления:

window.onbeforeunload = function() {
    return "Are you sure you want to navigate away?";
}
1 голос
/ 02 февраля 2012

Нет.Вы не получите никакого предупреждения (как вы делаете, если закроете окно).И я никогда не видел никакой разницы в расположении и расположении. Href, но я использую последнее:)

1 голос
/ 02 февраля 2012

Настройка window.location не должна вызывать проблем с перенаправлением. Однако, если есть хеш, то некоторые браузеры могут работать с ним по-другому.

Из спецификации MDN:

Примечание. Приведенный выше пример работает в ситуациях, когда нет необходимости сохранять window.location.hash. Однако в браузерах на основе Gecko установка window.location.pathname таким образом сотрет любую информацию в window.location.hash, тогда как в WebKit (и, возможно, других браузерах) установка пути не изменит хеш. Если вам нужно изменить путь, но сохранить хэш как есть, используйте метод replace (), который должен работать согласованно во всех браузерах.

Не должно быть никакой разницы между location и location.href, поскольку всякий раз, когда изменяется свойство объекта местоположения, документ загружается с использованием URL-адреса, как если бы window.location.assign () вызывался с измененный URL.

Источник: https://developer.mozilla.org/en/DOM/window.location

1 голос
/ 02 февраля 2012

AFAIK window.location и window.location.href должен быть в значительной степени эквивалентным.

Уже давно я его использовал, но я не помню, чтобы когда-либо виделзапрос перед тем, как покинуть страницу.В большинстве случаев, когда меня просили, это происходило потому, что я явно вставлял подтверждение, например, при нажатии на ссылку, чтобы что-то удалить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...