"window.location.history.go (-2)" возможно в основных браузерах? - PullRequest
1 голос
/ 28 сентября 2010

Как видно из названия, этот код будет работать и будет ли он работать в основных браузерах?

Я спрашиваю, потому что в настоящее время у меня нет ресурсов для его тестирования, поэтому я был бы признателен за помощь в этом.

Вот что у меня есть (не проверено):

setTimeout(window.location.history.go(-2), 5000);

Спасибо

Ответы [ 4 ]

8 голосов
/ 28 сентября 2010
setTimeout(window.location.history.go(-2), 5000);

history является свойством window, а не location.Также, если вы хотите, чтобы он срабатывал после задержки, вам нужно будет сделать функцию отложенного вызова - в настоящее время вы немедленно вызываете go() и передаёте возвращаемое значение функции в setTimeout, что явно не будет работать.Вы, вероятно, имеете в виду:

setTimeout(function() {
    history.go(-2);
}, 5000);

Что касается «возврата на две страницы», то да, он будет работать практически во всех браузерах, поддерживающих JS, но это то, что пользователи могут найти невероятно запутанным,Вы уверены, что хотите это сделать?

0 голосов
/ 28 сентября 2010

Работает на Netscape 2.0+, IE3 +, Opera 5.12+, Firefox 1+, Konquerer 3.1+, Safari 1+. Вы просто должны быть уверены, что в истории есть как минимум столько сайтов, что вы хотите вернуться назад.

Немецкий справочник по SELFHTML

0 голосов
/ 28 сентября 2010

Он существует с первой версии JavaScript, поэтому поддерживается повсеместно. Обратите внимание, что ваш код не будет работать так, как сейчас, потому что вы вызываете go сейчас и передаёте результат функции как ссылку на функцию. Кроме того, это просто history, а не location.history. Попробуйте вместо этого:

setTimeout(function() { history.go(-2); }, 5000);
0 голосов
/ 28 сентября 2010

как видите здесь это поддерживается всеми браузерами долгое время (начиная с ff1.0 / opera 5 / т.е. 3).

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