dポイントプレゼントキャンペーン実施中!

web初心者です。
インラインフレームを使用しているのですが、JavaScriptからxxxx.location.href=~とすると、xxxxは宣言されていませんというエラーになります。
表示されたwebのソースをみると、xxxxは存在するのですが。。。

原因が分かりません。
何か思い当たる点があれば、教えて下さい。

A 回答 (3件)

ご質問文からでは不明ですが、xxxxってiframeの要素では?


location.hrefはwindowオブジェクトの属性なので、iframe要素ではうまくいかないはず。

 alert(xxxx.location);  を行なえば undefined が返ると思いますが?
表示先を変えたいのなら
 xxxx.src = '~~' 
で、できると思いますが?

どうしてもlocationでやりたいのなら
 xxxx.contentWindow.location.href = '~~'
みたいな感じでしょうか?

万一を考えて、
 alert(xxxx);
もテストしてみましょう。
objectが返されない場合は、要素が取得できていないということになります。
    • good
    • 0
この回答へのお礼

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

>objectが返されない場合は、要素が取得できていないということになります。
正解でした。親元のParentが必要でした。

お礼日時:2010/03/17 08:54

フレームの中身のURLは同じドメインですか?



ドメインが違うと未定義になります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
同じドメインです。

フレームからフレームでしたので、Parentが必要でした。

お礼日時:2010/03/17 08:53

xxxx.location.href=~


の直前にalert("しばし待て!");
1行入れて、しばらく待ってからアラートを閉じれば、うまくいったりして...
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

入れてみましたが、ダメでした。

同じfomにもインラインフレームがあるのですが、そちらは問題なく動いています。

お礼日時:2010/03/11 09:53

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