1

私が自分自身を見つける位置は次のとおりです。関数内にネストする必要がある jQuery プラグインがありますdocument.ready。このプラグインは、ページの要素にスタイルを適用します。このプラグインの影響を受ける要素の 1 つに iframe が含まれています。この iframe は私のウェブサイトのものではありません。問題はdocument.ready、iframe のコンテンツを考慮していないことと、それが読み込まれると高さが変わることですが、jQuery プラグインはこの前に既に適用されていたため、ページのレイアウトが台無しになっています。

ドキュメントの準備ができており、iframeの準備も整っている場合にのみプラグインが呼び出されるように、次のことを試しました。

$(document).ready(function() {
    $('#frameId').ready(function() {
    //plugin code
    });
});

しかし、これは機能せず、別の解決策を探しています。

4

2 に答える 2

1

ドキュメントのみにready()イベントがあり、iFrame の場合は onload になります。

$(document).ready(function() {
    $('#frameId').on('load', function() {
    //plugin code
    });
});

しかし、プラグインが iFrame へのアクセスを必要とするのはなぜですか?

于 2013-04-28T22:26:26.757 に答える
0

解決策は$.holdReady();

$.holdReady(true);
$(document).ready(function() {
    //plugin code
});

$('#frameId').on('load', function() {
   $.holdReady(false);
});

クロスドメイン iFrame コンテンツの高さにアクセスするには、postMessage が必要です。この投稿をチェックしてください

于 2013-04-29T12:34:44.163 に答える