Как вы вызываете javascript внутри XUL через Firebreath?

Я написал некоторый javascript для моего расширения firefox в XUL. Это наложение имеет некоторые функции очистки, и я хотел бы иметь возможность вызывать эту функцию через мою DLL NPAPI, созданную с помощью Firebreath.

Я знаю, что у Firebreath есть пример вызова функции «оповещения», выполнив следующие действия:

// Retrieve a reference to the DOM Window
    FB::DOM::WindowPtr window = m_host->getDOMWindow();

    // Check if the DOM Window has an alert peroperty
    if (window && window->getJSObject()->HasProperty("window")) {
        // Create a reference to alert
        FB::JSObjectPtr obj = window->getProperty<FB::JSObjectPtr>("window");

        // Invoke alert with some text
        obj->Invoke("alert", FB::variant_list_of("This is a test alert invoked from an NPAPI Plugin"));
    }

Приведенный выше код работает, поэтому я изменил Invoke для вызова моей функции javascript.

obj->Invoke("cleanupCode", FB::variant_list_of("0"));

Это не работает и сбивает меня с толку в том, как я должен вызывать свою функцию javascript.


person user791953    schedule 18.07.2012    source источник
comment
Вы внедряете плагин на веб-сайты или загружаете его в XUL?   -  person Georg Fritzsche    schedule 18.07.2012
comment
Мой плагин загружается в XUL для расширения.   -  person user791953    schedule 19.07.2012


Ответы (1)


Как выглядит ваш DOM? Содержит ли окно функцию с именем cleanupCode ? Может быть, вы можете проверить это с помощью firebug.

person hasa    schedule 19.07.2012
comment
Окно не содержит указанной функции. Скрипт находится внутри XUL расширения. - person user791953; 19.07.2012