object内のhtmlをスクリプトで操作したいのですが



0   名前: 骸骨 : 2006/08/04(金) 23:53  ID:PcpGDZeP
<object data='abc.html'>で指定したhtml内部のエレメントをスクリプトで操作したいのですが、
abc.html をオブジェクト変数として取得する方法がわかりません。
または abc.html に値を渡す方法でもよいので、どなたか教えていただけないでしょうか。
対応ブラウザは、ie でさえ出来れば問題ありません。
ぜひお願い致します。
(もし不可能ということであれば仕方ないのでフレームを検討しますが…)

1   名前: Pid : 2006/08/04(金) 23:53  ID:CElwlhmE
http://www2u.biglobe.ne.jp/%7Eoz-07ams/prog/dom-ref/HTML/HTMLObjectElement.html#HTMLObjectElement-contentDocument

2   名前: 骸骨 : 2006/08/04(金) 23:53  ID:PcpGDZeP
ご回答ありがとうございます。

<object id='tobj' data='inobj.html'></object>
<button onclick='alert(document.getElementById("tobj").contentDocument);'>get</button>

しかし、ボタンを押しても undefined が返ってきてしまいます…。
私の ie は 6.0 です。

3   名前: 骸骨 : 2006/08/04(金) 23:53  ID:PcpGDZeP
その後、contentDocument についていろいろ調べてみた結果、
ie では実装されていない機能であると記載されているサイトを発見しました。
どうも今の時点では内部にアクセスするのは不可能の色が濃いような気配ですね…。

なんだか仕様と推奨の狭間で弄ばれているような気分です…(笑)。
ほんと、HTMLって一筋縄ではいかないようで…

4   名前: らぶーふ : 2006/08/04(金) 23:53  ID:E1Hyj4x8
IE6.0であれば、

<object id="foo" data="a.html" type="text/html"></object>

として、a.htmlにID:barのオブジェクトがあれば、

document.getElementById("foo").documentElement.document.getElementById("bar")

でアクセスできるのでは思います。

5   名前: 骸骨 : 2006/08/04(金) 23:53  ID:QwXSomxl
あ!!ありがとうございました!
無事アクセスすることが出来ました!感謝です。

一覧へ戻る