0

iframe の問題があります (私には少し奇妙です)。問題は、ドキュメントに iframe があり、その iframe で異なるタスクを実行し、使用する iframe のコンテンツにアクセスするためにいくつかの関数があることです。

$("iframe").contents();

したがって、この長いステートメントを書く代わりに、グローバル変数を使用しました。

var i = $("iframe").contents();

しかし、これはうまく機能していません。

alert( i.find("someelement") );    

=>undefined

alert($("iframe").contents().find("someelement")    

=>[object]

ここで何が問題なのですか?

4

3 に答える 3

1

交換

var i = $("iframe").contents();

window.i = $("iframe").contents();

Asは、 JavaScript でグローバル変数を宣言するために使用されるiよりもスコープが小さくなります。window

iframeただし、別のドメインからのものである場合、内のアイテムを変更することはできません。お役に立てれば。

于 2012-06-08T07:12:24.610 に答える
0

iframe のコンテンツは、インターンされているページと同じドメインにありますか?

詳細: http://en.wikipedia.org/wiki/Same_origin_policy

于 2012-06-08T07:11:36.860 に答える
0

おそらくどこかを上書きしているiか、グローバルではありません。グローバルであることを確認するには、var を使用しないでください。代わりに、 を定義window.i = ...;し、常に参照してくださいwindow.iiこれにより、ローカル変数との混同の可能性を回避できます (これは、ほとんど常にイテレータ変数として使用されるため、頻繁に発生する可能性があります)。iまた、iframe 以外 (前述のイテレータなど) に使用している場合は、常に local として宣言するようにしてください。

于 2012-06-08T07:09:42.707 に答える