如何通过Firebreath调用XUL内部的javascript?
我已经在XUL中为我的firefox扩展编写了一些javascript。这个覆盖有一些清理功能,我希望能够通过Firebreath创建的NPAPI dll调用该函数 我知道Firebreath有一个通过执行以下操作调用“警报”功能的示例:如何通过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
// 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"));