![](/img/trans.png)
[英]Object.defineProperty() works during testing (jpm run), but doesn't do anything when using the actual xpi
[英]Firefox add-on works with “jpm run”, but not whith .xpi file generated with “jpm xpi”
我正在使用Firefox插件SDK開發Firefox插件。 我遵循了入門教程 。
Firefox版本:41.0.2
我的過程是:
jpm run
>確定附加組件工作正常 jpm xpi
xpi- >確定:創建@ myAddon.xpi (JPM [info]已在...成功創建.xpi ) 因此,為什么使用jpm run
的測試jpm run
正常jpm run
,但是在安裝.xpi
文件后卻無法正常工作???
我可以與您共享代碼,但是這種情況怎么發生? 如果它可以在測試中工作,我希望它可以在“發行版”中工作。 我沒有錯誤或警告。
高水平 :
pageMod.PageMod({
include: "*",
contentScriptFile: [data.url("jquery-1.11.3.min.js"), data.url("./Compute.js")],
onAttach: function (worker) {
var currentUrl = tabs.activeTab.url;
param = currentUrl;
Request({
url: param,
onComplete: function (response) {
var parsed = JSON.parse(response.text);
worker.port.emit('got-request', parsed);
}
}).get();
}
self.port.on('got-request', function (data) {
console.log(data);
});
編輯(從評論中刪除):
我發現一些有趣的事情。...取決於FireFox的隱私級別,該插件是否可以工作。 (選項->隱私->歷史記錄“記住歷史記錄”或“永遠不要記住歷史記錄”)-記住歷史記錄--> addOn確定-“永遠不要記住歷史記錄”-> addOn NOK任何想法
如您所確定,如果您希望Firefox附加SDK附加組件在“ 私有瀏覽”模式下工作,則需要在package.json文件中添加值為true
private-browsing
密鑰。
如果您沒有使用其他權限 ,則可以在package.json文件中添加以下內容:
"permissions": {"private-browsing": true}
Firefox文檔中有關為私人瀏覽模式編寫SDK附加組件的文檔特別指出,當以下任一情況出現時, require("sdk/private-browsing").isPrivate()
方法將返回true(強調我的意思):
- 私人窗戶,或
- 屬於私有窗口的標簽,或者
- 與私有窗口中托管的文檔相關聯的工作人員
- 如果已將瀏覽器配置為從不記住歷史記錄,則為任何窗口,選項卡或工作程序(選項->隱私->歷史記錄)
如果您沒有"private-browsing": true
,則如文檔所述 ,將是以下情況(強調我的意思):
最終的結果是,當您正在使用的配置文件配置為在package.json中沒有"private-browsing": true
權限的情況下永遠無法記住歷史記錄時,您的加載項將無法正常工作。
如果確實將該權限放入package.json文件,則必須使用私有瀏覽模塊require("sdk/private-browsing").isPrivate(object)
來檢查是否位於私有窗口或選項卡中。 如果您在這樣的窗口或選項卡中,則無需存儲有關此類環境的任何信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.