アプリ版:「スタンプのみでお礼する」機能のリリースについて

オブジェクト埋め込みで別のWebページを埋め込んでいます。
その埋め込まれたページのフォームに入力された値を、埋め込み元のフォームに値を戻す処理です。
IE以外(Firefox,Opera,Chrome,Safari)は正常に動きました。
これをIE(IE8)でも正常に動く様にしたいのですが、IEの場合の記述方法を教えていただけないでしょうか。宜しくお願いします。

因みに、これはインラインフレームで処理していたもを、objectタグに書き換える作業です。
ですのでインラインフレームなら可能という回答はなしでお願いします。


●オブジェクトを埋め込んでいるページのhtml
<form method="POST" name="formA">
<input type="text" name="fld1" size="10">
</form>
<p>
<object ID="bojInline" type="text/html" data="http://hogehoge/oTest.html" width="400" height="300">
<p>objectに対応していないブラウザです</p>
</object>
</p>

●埋め込まれるhtml(http://hogehoge/oTest.html

<script language="JavaScript">
<!--//
function fRtn() {
parent.document.formA.fld1.value = document.formB.fldB1.value; <<<ここの記述がIEではエラー
}
//-->
</script>
</head>

<form method="POST" name="formB">
<input type="text" name="fldB1" size="10" value="初期値"></td>
<input type="button" name="btn1" value="値を戻す" onClick="JavaScript:fRtn()">
</form>

A 回答 (1件)

オブジェクトを埋め込んでいるページのhtmlのjavascriptで


windowオブジェクトに名前を付けます。
<script>window.name="hoge"</script>
埋め込まれるhtmlのjavascriptは、
hoge.document.formA.fld1.value = document.formB.fldB1.value;
としてだめですか?

この回答への補足

回答ありがとう御座います。
その方法も試していました。
「宣言されていません」とエラーになってしまいます。
window.openerも試してみましたが駄目でした。

objectタグのパラメータのtype='text/html'をclassid="clsid:25336920-03F9-11CF-8FD0-00AA00686F13"に書き換えてみても同じでした。
IEはobujectタグで埋め込んだWebページから、埋め込み元へのDOM階層が切れているのじゃないかと思い始めています。

XHTML1.1でiframe要素が廃止になっていますので、object要素に書き換えはじめたのですが、IEのみ実装の考え方が違うようなので時期尚早だったのかもしれないと思い始めました。
各ブラウザもiframe要素への対応をすぐに止めるとは思えないので、iframe要素をobject要素に書き換えるのは中止しようと思い始めています。

補足日時:2009/08/27 14:55
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!