0

YUIサンドボックスは好きですが、問題があります。初期化スクリプトを使用したiframe(たとえば、私が含めたckedior)を含むドキュメントについて考えてみます。常に外部ドキュメントのセクションの前に実行されます(理由はわかりません)。

そして、親ドキュメントのYUIサンドボックスで初期化される関数を呼び出す必要があります。ただし、実行はiframeで開始されるため、初期化することはできません。

var getWordCount;

AUI().ready('aui-node', 'console', function(A) {

    getWordCount = function (htmlData) {
        var target = A.one('div.my-png-image');
        target.one('div:fist-child').set('text', strip(htmlData).trim().split(/\s+/).length);
    };
});

yuiサンドボックスがなければ、親ドキュメントで関数を宣言しただけで、iframeで実行を開始するのが難しい場合でも、グローバル関数が存在し、iframeから呼び出すことができます。

4

2 に答える 2

1

HTML全体がロードされたときにのみ実行されるため、問題はAUI.readyである可能性があります。これは、ブラウザが.ready-eventをトリガーする前にiFrameが読み込まれることを意味します。

コードのトリガーに使用するAUIイベントを変更してこれをテストし、実行するコードをAUI.readyの外部のiFrameロードの前に配置することができます。

実行する前にdOMの特定の要素をロードする必要がある場合は、この例のように、要素がロードされているかどうかを確認してから、スクリプトを実行してみてください。

于 2011-02-22T11:50:19.723 に答える
0

AUI()。ready内からIFrameを作成できますか?

于 2011-03-23T06:16:24.830 に答える