2 フレームの HTML ページがあります。
- FrameA には、さまざまなページへのリンクのリスト、またはページ内のアンカーが含まれています。
- FrameB は個々のページを表示します。
一部のページには、トリガー テキスト付きの slideDown セクションが含まれています。つまり、このテキストをクリックすると、その下の slideDown セクションが表示/非表示になります。
トリガー要素の親要素にもアンカーが含まれています。次に例を示します。
<li class="expandable">
<p><a name="myanchor3"></a>Trigger text</p>
<div class="slideDownSection">
...
</div>
</li>
ページを FrameB にロードするために使用される URL でアンカーが要求されるたびに検出したいと考えています。アンカー ref がある場合は、アンカーが「展開可能な」要素内にあるかどうかを確認し、そうである場合は、下の要素で slideDown を実行して表示します。
$(document).ready(function(){ ... }); の中に Javascript を入れることで、これを簡単に行うことができます。読み込まれるページで。これにより、location.hash 値がチェックされ、見つかった場合は処理されます。ただし、これはページが FrameB にロードされる場合にのみ機能します。
ページが既にFrameB に読み込まれている場合、同じページ内の別のアンカーを指す FrameA のリンクをクリックすると、そのイベントをキャプチャできません。ページの位置が変更され、アンカーがページの上部またはその近くに表示されます。ページをリロードする必要はありません。
私の質問は次のとおり
です。FrameB に表示されたページで、FrameA でクリックされたリンクを介してそのページのアンカーが要求されたことを検出するために、どのイベント ハンドラーを使用できますか?
注: FrameA のコンテンツは自動生成されるため、FrameA のページに onClick イベントを使用することはできません。FrameB に表示されるページ内でのみ作業できます。