2013-02-16 73 views
1

我有SDK 1.13,我想使用頁面加載API給HTML格式加載在Firefox瀏覽器的警報消息。但是我在控制檯上發現錯誤:require沒有被定義。 我已經聯繫上添加SDK到文件系統的目錄文件CFX:sdk/pageload-require沒有定義

ln -s PATH_TO_SDK/bin/cfx ~/bin/cfx 

不過,我不能夠解決這個錯誤。這裏是我的代碼(包含在XUL文件中):

var pageMod = require("sdk/page-mod"); 
    pageMod.PageMod({ 
    include: "*.html", 
    contentScript: 'window.alert("Page matches ruleset");' 
}); 

回答

1

我假設你已經安裝了SDK並在嘗試運行cfx之前在你的擴展中運行bin \ activate,對吧?

你不能從一個XUL文件運行這個東西,這就是爲什麼需要......不會工作。所有這些都需要在main.js中(在lib文件夾中)。您需要通過您將寫入的內容腳本(在數據文件夾中)進行通信。當加載的HTML(我會添加一個window.listener或內容腳本中的東西),你會使用port.emit(「加載」)或類似的東西,然後你將不得不在main.js中聽東西像addon.port(「加載」,somefunction)。這裏有很多很好的文檔!

+0

即使我的主應用程序在XUL中,我可以在main.js中使用SKD嗎?我的意思是,我可以將兩者結合起來嗎? – bgmCoder 2015-12-16 14:58:52