※ ChatGPTを利用し、要約された質問です(原文:フレームで呼び出したhtml名の取得)
フレームで呼び出したhtml名の取得
このQ&Aのポイント
フレームを左右に分割しており、左側のframe_left.htmlから右側のページを切り替える際に、切り替わった後に実行される関数getTagName()内で、呼び出したhtml名を取得する方法について質問です。
いくつかの方法を試しましたがうまくいかず、framesetを定義したhtml名やframe_left.htmlを取得することしかできませんでした。
フレームで呼び出したhtml名を取得する方法を教えてください。
お世話になります。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2374524
で、教えて頂いた関数呼び出しについてです。
フレームを左右に分割しています。
左側 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();が、ページが切り替わった後に実行される方法として、
No1.talepandaさんに、
<body onload="window.parent.left.getTagName();">
と、いう方法を教えて頂きました。
ここで、関数getTagName()で、この呼び出したhtml名、つまりpage2.htmlを取得できないものでしょうか。
いろいろと試してみました。
alert("window.parent.mainfrm.location.href="+window.parent.mainfrm.location.href); //framesetを定義したhtml名となってしまう。
alert("window.mainfrm.location.href="+window.mainfrm.location.href); //スクリプト停止
alert("location.href="+location.href); //frame_left.htmlになる。
と、いうことでいずれもダメでした。
このような呼び出し方をした場合、呼び出しもとのhtml名を取得できないのでしょうか。
どうか、よろしくお願いいたします。
お礼
to_kyoさん、レスありがとうございます。 いきました。何度もテストを行ったのですが、 ダメだったのに、どういう訳かご指摘の方法で解決しました。尚、質問の方でmainをmainfrmとしてしまったのは、最初の質問をしてからmainをmainfrmと名前を変えていたための今回の質問時のミスです。だからこれが原因ではないと思うのですが、ともかくどうもありがとうございました。