2014-11-02 71 views
1

我帶了一個現有的插件,它在谷歌搜索給定的單詞。 這裏是鏈接:選擇文本,然後右鍵點擊它https://addons.mozilla.org/en-US/firefox/addon/inline-google-search/?src=api無法將熱鍵功能添加到Firefox插件

附加組件的作品,並在上下文菜單中得到一個選項來搜索它在谷歌。

下面是主要的js文件:

exports.main = function() {}; 
var panel = require("sdk/panel").Panel({ 
    width:700, 
    height: 500, 
    contentURL: "about:blank", 
    onHide : function(){ 
     this.contentURL = "about:blank" 
    } 
}); 

var contextMenu = require("sdk/context-menu"); 
var menuItem = contextMenu.Item({ 
    label: "Search Google Inline", 
    context: contextMenu.SelectionContext(), 
    contentScript: 'self.on("click", function() {' + 
       ' var text = window.getSelection().toString();' + 
       ' self.postMessage(text);' + 
       '});', 
    onMessage: function (selectionText) { 
    panel.contentURL = "https://www.google.co.in/search?q="+selectionText; 
    panel.show(); 
    } 
}); 

,這樣選擇文本,然後按Ctrl + Shift + d之後,對谷歌的文本進行搜索我加入的功能。

一些額外的線條在最後被我說:

var { Hotkey } = require("sdk/hotkeys"); 
var selection = require("sdk/selection"); 

var showHotKey = Hotkey({ 
    combo: "accel-shift-d", 
    onPress: function() { 
     panel.contentURL = "https://www.google.co.in/search?q="+selection.text; 
     panel.show(); 
    } 
}); 

上面的代碼中,我從這裏找到:Access selected text within a Hotkey object

也有一個文件線束options.json,這在我更新sha256 main.js文件的總和,並在manifest部分中添加了sdk/hotkeys和sdk/selection的需求。

但插件安裝失敗後的工作。即使上下文菜單選項也不會再出現。所以看起來我破壞了代碼。

什麼可我是做錯了什麼?

回答

1

相反編輯插件我使用CFX和插件-SDK從頭開始創建它和它的工作。

+0

是啊,我只是跑你的代碼,它爲我工作得很好。 – canuckistani 2014-11-04 01:13:30