• ベストアンサー

フレームでページ切りかえの後で関数を実行できないでしょうか

いつもお世話になります。 フレームを左右に分割しています。 左側 frame_left.html    name="left" 右側 最初page1.html    後にページを切り替える name="main" としたとき、 frame_left.htmlで <a href="page2.html" onclick='getTagName();' target="main">ページ2</a> とすると、右側フレームはpage2.htmlに切り替わります。 このとき、getTagName();は、ページが切り替わる前に実行されてしまいます。 つまり、<a href="pa・・・でページを切りかえ、切り替えた後のpage2.htmlのタグ情報を取得したいのですが、page1.htmlのタグ情報を取得してしまいます。 ページが切り替わった後でgetTagName()を実行することはできないものでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • talepanda
  • ベストアンサー率58% (45/77)
回答No.3

><a>タグで行いたいものですので、ちょっと目的が異なります。 動作としては、aタグクリック→page2.htmlに切り替わる→frame_left.htmlでgetTagName()呼び出し、になりますよ。 aタグの中で直接getTagNameを呼び出したいということですか? その理由が良くわからないのですが・・・。

rqg2010
質問者

お礼

talepandaさん、ご丁寧にご指摘ありがとうございました。 page2.htmlの<body onload だったので、これが、frame_left.htmlに反映されるなどと思いもよりませんでした。 できました。 まだ、まだ、まだ未熟者です。 今後ともよろしくお願いいたします。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

#1の方法でイイと思いますけど、 page2.html が変更できない場合。 トップページのframeset で <FRAME SRC="page1.html" name="main" onload="frames['left'].getTagName()"> frame_left.html で var flag=false; function getTagName(){ if(flag){ //処理 flag=false; } } … <a href="page2.html" onclick='flag=true;' target="right">ページ2</a>

rqg2010
質問者

お礼

BLUEPIXYさん、ありがとうございます。 教えていただいた方法をいろいろと試していました。 No1の方法を勘違いしていました。 No1の方法でできました。 でも、BLUEPIXYさんのスクリプトはいつもながら感心させられます。 今後ともよろしくお願いいたします。

すると、全ての回答が全文表示されます。
  • talepanda
  • ベストアンサー率58% (45/77)
回答No.1

page2.htmlの中で <body onload="window.parent.left.getTagName();"> が一番確実かな。

rqg2010
質問者

お礼

talepandaさん、早速レスありがとうございます。 <a>タグで行いたいものですので、ちょっと目的が異なります。 説明不足で申し訳ありませんでした。

すると、全ての回答が全文表示されます。

関連するQ&A