У меня есть HTML-страница с двумя кадрами:
- FrameA содержит список ссылок на различные страницы или привязки внутри страниц.
- FrameB отображает отдельные страницы.
Некоторые страницы содержат разделы slideDown с триггерным текстом, т. е. щелчок по этому тексту показывает/скрывает раздел slideDown под ним.
Родительский элемент элемента триггера также содержит привязку, например:
<li class="expandable">
<p><a name="myanchor3"></a>Trigger text</p>
<div class="slideDownSection">
...
</div>
</li>
Я хочу определить, когда в URL-адресе, используемом для загрузки страницы в FrameB, запрашивается якорь. Если есть есть ссылка на якорь, я хочу проверить, попадает ли якорь в "расширяемый" элемент, и, если это так, я делаю слайд-вниз на элементе ниже, чтобы отобразить его.
Я могу сделать это достаточно легко, поместив некоторый Javascript внутри $(document).ready(function(){ ... }); на странице, которая загружается. Это проверяет значение location.hash и обрабатывает его, если оно найдено. Однако это работает только тогда, когда страница загружается в FrameB.
Если страница уже загружена во FrameB, и я нажимаю ссылку во FrameA, которая указывает на другую привязку на той же странице, я не могу зафиксировать это событие. Положение страницы изменяется, чтобы якорь отображался в верхней части страницы или рядом с ней — без перезагрузки страницы.
Мой вопрос:
Какой обработчик событий я могу использовать на странице, отображаемой в FrameB, чтобы определить, что якорь на этой странице был запрошен по ссылке, нажатой в FrameA?
Примечание. Содержимое FrameA создается автоматически, поэтому я не могу использовать событие onClick для страницы в FrameA, я могу работать только со страницами, отображаемыми в FrameB.