2011-03-25 43 views
0

我是新來的jetpack世界(和firefox extension的那個) ,同時做了一些研究jetpack的可能性,我發現 有些奇怪的東西。我做了一個簡單的測試項目,包括在pagemod一個 JavaScript框架(RightJS)(使用jQuery的 的教程,但是似乎正常工作),我得到了以下錯誤:Javascript framework(RightJS)as content-script in page-mod

錯誤:發生異常。
回溯(最近通話最後一個):
文件 「/home/nic/Aptgeek/TestProjects/ff-extension/data/external/libs/right-src.js」,線5979,在
文件「/家/nic/Aptgeek/TestProjects/ff-extension/data/external/libs/right-src.js」,線路990,在
類型錯誤:Array.include不是一個函數

我main.js腳本是相當簡單:

var pageMod = require("page-mod"); 
var self = require("self"); 
exports.main = function() { 
     pageMod.PageMod({ 
       include: "*", 
       contentScriptWhen: 'ready', 
       contentScriptFile: [self.data.url('external/libs/right-src.js'), 
            self.data.url('test.js')], 
       onAttach: function onAttach(worker) { 
         worker.on('message', function(message) { 
           console.log(message); 
         }); 
       } 
     }); 
} 

看到的是經過討論: http://groups.google.com/group/mozilla-labs-jetpack/browse_thread/thr ... 我開始懷疑jetpack javascript框架的支持。我是否 使用page-mod不正確?或者應該這樣工作?在使用javascript框架作爲page-mod中的內容腳本方面是否有任何限制?

回答

1

Firefox加載項在本機類型爲沙箱的環境中運行。 RightJS中這些原生類型的擴展方式與沙盒環境衝突。對RightJS進行了一些更改,使其能夠與Firefox附加SDK(JetPack)一起使用。

0

嘗試使用 「安全模式」,從rightjs功能

http://rightjs.org/tutorials/safe-mode#safe

In this safe-mode, RightJS does not extend anything and does not put its functions and classes into the global scope (except the RightJS object itself).