Запустить функцию JavaScript при попытке перейти на якорь HTML - PullRequest
3 голосов
/ 11 марта 2011

Независимо от того, пытаюсь ли я перейти на index.html # ExistingAnchor или index.html # NotExistingAnchor или на любой другой якорь, который может или не может существовать на странице, которую я Хотелось бы запустить какую-нибудь функцию JavaScript.

<html>
<body>
    <a name="ExistingAnchor"></a>
</body>
</html>

Какой код JavaScript я могу использовать для достижения этого?

Возможно, страница уже загружена, поэтому я бы просто посещал якоря HTML на той же странице из адресной строки браузера без перезагрузки страницы.

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

1 Ответ

5 голосов
/ 11 марта 2011

В современных браузерах вы можете реализовать событие onHashChange, в IE6 / 7 вам понадобится использовать некоторые хитрости, включающие iFrames и window.setTimeout.

Плагин истории jQuery достигнет того, что вы хотите, если выиспользуйте jQuery, если нет, вы можете изучить его и портировать для своих нужд.http://tkyk.github.com/jquery-history-plugin/

...