如何通过Firebreath调用XUL内部的javascript?

如何通过Firebreath调用XUL内部的javascript?,javascript,firefox-addon,npapi,firebreath,Javascript,Firefox Addon,Npapi,Firebreath,我已经在XUL中为我的firefox扩展编写了一些javascript。这个覆盖有一些清理功能,我希望能够通过Firebreath创建的NPAPI dll调用该函数 我知道Firebreath有一个通过执行以下操作调用“警报”功能的示例: // Retrieve a reference to the DOM Window FB::DOM::WindowPtr window = m_host->getDOMWindow(); // Check if the DOM Wind

我已经在XUL中为我的firefox扩展编写了一些javascript。这个覆盖有一些清理功能,我希望能够通过Firebreath创建的NPAPI dll调用该函数

我知道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"));
    }

这不起作用,并且让我对如何调用javascript函数感到困惑。

您的DOM看起来如何?窗口是否包含名为cleanupCode的函数?也许你可以用firebug检查一下。你的DOM看起来怎么样?窗口是否包含名为cleanupCode的函数?也许你可以用firebug检查一下。

你是将插件注入网站还是加载到XUL中?我的插件加载到XUL中用于扩展。你是将插件注入网站还是加载到XUL中?我的插件加载到XUL中用于扩展。窗口不包含上述功能。脚本位于扩展的XUL内部。窗口不包含所述函数。脚本位于扩展的XUL内部。
obj->Invoke("cleanupCode", FB::variant_list_of("0"));