Как обеспечить создание объекта YUI первым - PullRequest
0 голосов
/ 22 февраля 2011

Мне нравится песочница 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.

Ответы [ 2 ]

1 голос
/ 22 февраля 2011

Возможно, проблема в AUI.ready, так как он выполняется только при загрузке всего HTML-кода.Это означает, что iFrame загрузится до того, как браузер вызовет событие .ready.

Вы можете попытаться проверить это, изменив событие AUI, которое вы используете для запуска своего кода, и поместив код, который вы хотите запустить, перед загрузкой iFrame за пределы AUI.ready.

Если вам нужно загрузить определенный элемент в dOM перед запуском, вы можете попробовать проверить, загружен ли этот элемент, и затем запустить ваш скрипт, например в этом примере .

0 голосов
/ 23 марта 2011

Не могли бы вы создать IFrame из AUI (). Ready?

...