2012-07-18 21 views
2

我在XUL中爲我的firefox擴展寫了一些javascript。這個覆蓋有一些清理功能,我希望能夠通過我通過Firebreath創建的NPAPI dll調用該函數。如何通過Firebreath在XUL中調用JavaScript?

我知道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函數。

+0

您是將插件注入網站還是將其加載到XUL中? – 2012-07-18 19:49:20

+0

我的插件被加載到擴展的XUL中。 – user791953 2012-07-19 12:07:52

回答

0

您的DOM如何看待?窗口是否包含名爲cleanupCode的函數?也許你可以用螢火蟲檢查它。

+0

窗口不包含上述功能。該腳本位於擴展的XUL中。 – user791953 2012-07-19 12:08:29