история.го('url') проблема

Я видел, что метод history.go() может иметь два типа параметров:

see:

 http://www.w3schools.com/jsref/met_his_go.asp 

Но URL вообще не работает.

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

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

Итак, почему этот строковый параметр указан во всех ссылках на js?


person Vikas    schedule 08.06.2011    source источник
comment
С каким браузером и версией вы пытаетесь это сделать?   -  person paulmorriss    schedule 08.06.2011
comment
Пробовал в последней версии Chrome и Mozilla Firefox 4.1 или последней версии (независимо).   -  person Vikas    schedule 08.06.2011
comment
w3schools — это не все ссылки на js. Это один, особенно плохая отсылка.   -  person Lightness Races in Orbit    schedule 08.06.2011
comment
Между прочим, я нашел help.dottoro.com более подходящим справочником. Это далеко не идеально, но они упоминают подобные различия браузеров и предлагают краткий обзор поддержки браузеров. help.dottoro.com/ljhvjqec.php — это их страница для history.go().   -  person Andy E    schedule 08.06.2011
comment
Я поднял этот вопрос, потому что вижу еще одну неверную ссылку (здесь), поэтому теперь узнал, что МДК лучший!   -  person Vikas    schedule 08.06.2011


Ответы (3)


Предоставление URL-адреса в качестве параметра является нестандартной функцией и работает не во всех браузерах. Большинство браузеров принимают только относительное число, например. 1 или -1.

Из документации MDC (выделено мной):

[history.go(integerDelta)] Загружает страницу из истории сеансов, идентифицируемую по ее относительному местоположению относительно текущей страницы, например -1 для предыдущей страницы или 1 для следующей страницы. Когда integerDelta выходит за пределы (например, -1, когда в истории сеансов нет ранее посещенных страниц), метод ничего не делает и не вызывает исключение. Вызов go() без параметров или с нецелочисленным аргументом не имеет никакого эффекта (в отличие от Internet Explorer, который поддерживает строковые URL-адреса в качестве аргумента).

Вот что происходит, когда вы используете W3Schools в качестве учебного ресурса ;-)

person Andy E    schedule 08.06.2011
comment
В качестве примечания: если вы хотите перейти по URL-адресу, используйте window.location - person Ryan Kinal; 08.06.2011

MDC по крайней мере имеет это примечание:

Примечание. Internet Explorer поддерживает передачу строковых URL-адресов в качестве параметра функции go(); это нестандартно и не поддерживается Gecko.

Не знаю, почему он указан во многих ссылках.

person Shadikka    schedule 08.06.2011
comment
Наверное, потому что об этом кричат ​​W3Schools. У них гораздо больше популярности, чем качества. - person Quentin; 08.06.2011

Если вы хотите использовать его с URL-адресом, просто используйте:

window.location.href="http://www.whereyouwannago.nl/";

URL-адрес, вероятно, все еще существует для обратной совместимости.

person Chris Laarman    schedule 08.06.2011