• 締切済み

フレーム内の値が取得できません。どうか助けて下さい↓

javaScript初心者です。どうか教えて下さい。 ブラウザ:FireFox で画面を開き、DOMの構造を確認すると、以下の用になっています。(適所省略) 内容:フレームが3つ存在し、BodyFrameの中の値1を取得する為にはどのようにすればよろしいのでしょうか? いろいろ試行錯誤したのですが、フレームが見つからない旨のエラーが表示されてしまいます。 ※試したパターン var b = parent.BodyFrame.document.getElementsByTagName("TD").item(0); var b = BodyFrame.document.getElementsByTagName("TD").item(0); var b = BeginFrame.MainFrame.BodyFrame.document.getElementsByTagName("TD").item(0); var b = top.BodyFrame.document.getElementsByTagName("TD").item(0); var b = window.BodyFrame.document.getElementsByTagName("TD").item(0); Frame(BeginFrame) -Frame(MainFrame) -Frame(BodyFrame) <HTML> <head></head> <BODY> <table> <tr> <td>値1</td><td>値2</td><td>値3</td> </tr> <tr> <td>あああ</td><td>いいい</td><td>ううう</td> </tr> </table> </BODY> </HTML> いろいろ調べたのですが、お手上げです。どうかご教授下さい。

みんなの回答

  • saya25_25
  • ベストアンサー率100% (2/2)
回答No.2

返答ありがとうございます。 >>プラグインのFireBugsとかではないでしょうか? >DOM Inspector というプラグインです。 DOM Inspectorが調べてもインストールできなかったので、 FireBugに機能があるそうなので、そちらをインストールしました。 しかし、Humi_Sapさんのおっしゃる階層がやはりよく分かりません。。 >>この画面をリンクで開いた場合で、 >>親画面から値を参照しようとしている場合でしょうか? >フレームの上にフレームが乗っているという場合などもあるのでしょうか? >たとえば、BigenFrameの上にMainFrameとBodyFrameが乗っていたり。 あります。 (と言うか私は、そういったHTMLで値を取得しようとしているとおもっていたのですが。。) ↓例 <frame src="sample2.html" name="BeginFrame"> のsample2.htmlもフレーム指定している。 >フレームの情報(名前、位置関係)を詳しく調べるメソッドなどありましたらお教え下さい。 名前の取得については、参考URLをつけさせていただきました。 位置については私も分かりませんので、ご了承ください。

参考URL:
http://www.scollabo.com/banban/java/ref_05.html
  • saya25_25
  • ベストアンサー率100% (2/2)
回答No.1

情報量が少なすぎです。。 まず第一に、どのフレームから値を取得しようとしていますか? この画面をリンクで開いた場合で、 親画面から値を参照しようとしている場合でしょうか? このあたりが、位置を指定するために大切な情報になってきます。 とりあえず、フレームの構成・位置については、「これだろう」と思うHTMLを作って、動かしてみました。 (推測に頼っているところがあるので 意図に合っているものかいまいち自信がありませんが。。) ■BeginFrame(フレーム分割していない方)から取得 →parent.MainFrame.BodyFrame.document.getElementsByTagName('td')[0].firstChild.data ■MainFrameから取得 →parent.BodyFrame.document.getElementsByTagName('td')[0].firstChild.data ■BodyFrameから取得 →document.getElementsByTagName('td')[0].firstChild.data) 一応IE6と、FireFox3で動きました。 (TDタグで囲まれている値を取得するinnerTextというメソッドもありますが、 IEしか動かないようなので除外しています。) > ブラウザ:FireFox で画面を開き、DOMの構造を確認すると これは、FireFoxのデフォルト機能でしょうか? プラグインのFireBugsとかではないでしょうか?

Humi_Sap
質問者

お礼

回答ありがとうございました☆

Humi_Sap
質問者

補足

>これは、FireFoxのデフォルト機能でしょうか? >プラグインのFireBugsとかではないでしょうか? DOM Inspector というプラグインです。 >この画面をリンクで開いた場合で、 >親画面から値を参照しようとしている場合でしょうか? フレームの上にフレームが乗っているという場合などもあるのでしょうか? たとえば、BigenFrameの上にMainFrameとBodyFrameが乗っていたり。 フレームの情報(名前、位置関係)を詳しく調べるメソッドなどありましたらお教え下さい。

関連するQ&A

専門家に質問してみよう