2015-08-20 23 views
2

我對Firefox(40)和Tor瀏覽器5.0.1(Firefox 38.2.0)中使用的插件的奇怪行爲有疑問。目標是爲這兩種環境創建一個工作插件。在Tor瀏覽器中使用插件的ToggleButton圖標

這個簡單的例子是用jpm init創建的,稍作修改以突出顯示ToggleButton問題。雖然ToggleButton及其圖標在Firefox中通過jpm run很好地顯示,但Tor似乎在查找圖標文件時遇到問題並且什麼都不顯示。爲了在Tor中導入插件,我使用了jpm xpi並通過插件管理器安裝了插件。

我目前的目錄佈局結構如下:

├── README.md 
├── data 
│   ├── skull-16.png 
│   ├── skull-32.png 
│   ├── skull-48.png 
│   └── skull-64.png 
├── icon.png 
├── index.js 
├── package.json 
└── test 
    └── test-index.js 

這是index.js文件的內容:

const self = require('sdk/self'); 
const { ToggleButton } = require("sdk/ui/button/toggle"); 

// a dummy function, to show how tests work. 
// to see how to test this function, look at test/test-index.js 
function dummy(text, callback) { 
    callback(text); 
} 

let button = ToggleButton({ 
    id: "skull-link", 
    label: "Skull Master", 
    icon: { 
     "16": "./skull-16.png", 
     "32": "./skull-32.png", 
     "48": "./skull-48.png", 
     "64": "./skull-64.png" 
    }, 
    onChange: function() { 
     console.log("toggle") 
    }, 
    bagde: 0 
}); 

exports.dummy = dummy; 

沒什麼特別的,我剛纔說的切換按鈕部分。 我還沒有發現Firefox 38和40之間的API之間的任何衝突,所以我無能爲力可能觸發這種行爲。感謝大家的幫助。

您可以爲zip文件這裏找到實例:sample addon

+1

嘿,你的文件結構的文本版本很酷,你是怎麼做到的? – Noitidart

+1

如果您在Linux或OSX下使用'''''''''''命令。我大約5分鐘前第一次聽到自己的聲音:) – hetsch

回答

0

它實際上是一個簡單的人,但我花了很長時間來搞清楚。我在帖子ndm13's answer中找到了答案。如果你有在Firefox插件的工作問題,但沒有Tor的,追加

"permissions": {"private-browsing": true}

的package.json。 Tor瀏覽器始終處於隱私瀏覽模式。