• 締切済み

フレームが現在表示しているURLを調べたい

「フレームが現在表示しているURLを調べたい」 でもうまくいかないので質問しました。 1.説明 次のようにフレーム定義をします <FRAMESET cols="60%,*"> <FRAME src="l.html" name="l"> <FRAMESET rows="85%,1*"> <FRAME src="ru.html" name="ru"> <FRAME src="rb.html" name="rb"> </FRAMESET> このとき、JavaScript で フレーム ru が表示している URLを以下のJavaScriptを実行すると ru.html が返ります。 →この結果は納得できます。(^^)/ document.write(window.top.ru.location.href) ru.html 次に、フレーム l のHTMLのなかで以下のようにターゲットをruにして、リンクをつくり、それをクリックすると ru の表示内容は当然ながら http://www.asahi.com に切り替わりました。 <TR><TD><A href="http://www.asahi.com" target="ru">朝日</A></TD></TR> ここで、再び以下の命令を実行すると、こんどは、 「エラー:書き込みができません」が出てしまいます。 →http://www.asahi.com が返ることを期待していたのですが (-_-;) document.write(window.top.ru.location.href) エラー:書き込みができません 2.質問 ここで質問なのですが、フレームが現在表示中のURLを得るための記述方法をご存知の方 教えていただけないでしょうか?

みんなの回答

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

document.writeで怒られるのでは? alert(window.top.ru.location.href)

noory
質問者

お礼

todo36さん 回答いただきありがとうございます。 alert(top.left.location.href) を試してみました。 結果は、「エラー:書き込みができません」が同じでした。 (-_-;) スクリプトデバッガを導入して追求を深めてみました。 ru の表示内容を www.asahi.com にした後ですと top.ru.name を表示しようとしても 「アクセスが拒否されました。」がでました。 (^_^;) どうも、ru に表示されるURLが切り替わると フレームのオブジェクトアクセスがうまくできなくなるようです。

noory
質問者

補足

自分で納得できるレベルで解決しました。  ru の表示内容が http://wwww.asahi.com のように他のサイトの場合、スクリプトデバッガで見る限り top.ru のデータ構造がなくなります。ですから、  ためしに、x.html を作っておいて ru で表示させると、理屈どおり top.ru.location.href でちゃんと x.html が表示されました。  お知らせします。

関連するQ&A