2015-04-12 92 views
-1

是否可以爲google chrome創建一個擴展名do:選擇一個單詞,單擊右鍵並打開一個新選項卡,將該單詞用作url的一部分?字用頁面中所選單詞打開一個新選項卡

例子:測試

轉到頁:http://www.example.com/測試

+0

請注意,你問「有可能嗎?」答案是「是」。但是如果你正在尋求幫助來做到這一點,你應該更好地制定你的問題。請看[如何提問](http://stackoverflow.com/help/how-to-ask)指南。 – Xan

回答

1

你可以簡單地在background.js使用chrome.contextMenus.createchrome.tabs.create。我已經創建了代碼,它和我一起工作。

function sendSearch(selectedText) { 
var serviceCall = 'http://www.example.com/' + selectedText; 
chrome.tabs.create({url: serviceCall}); 
} 

chrome.contextMenus.create(
{ 
    title: "Find '%s' on example.com!", 
    contexts:["selection"], 
    onclick: function(info, tab) { 
     sendSearch(info.selectionText); 
    } 
}); 

根據Best practices when using event pages @Xan提到。您可以改用chrome.contextMenus.onClicked。像:

function sendSearch(selectedText) { 
var serviceCall = 'http://www.example.com/' + selectedText; 
chrome.tabs.create({url: serviceCall}); 
} 

chrome.contextMenus.create(
{ 
    title: "Find '%s' on example.com!", 
    contexts:["selection"], 
    "id": "ViewSelectedLink" 
    }); 
function contextClicked(info, tab) { 
    if (info.menuItemId == "ViewSelectedLink") { 
     sendSearch(info.selectionText); 
    } 
} 
chrome.contextMenus.onClicked.addListener(contextClicked); 
+0

我建議將'onclick'移出物品描述到全局事件處理程序。這樣它將與事件頁面兼容。 (見#7 [這裏](https://developer.chrome.com/extensions/event_pages#best-practices)) – Xan

+0

@Xan感謝您的建議。我已經更新了答案。 – gui47

相關問題