我编写了类似于Google Search in Google for '...'
代码工作正常,显示菜单选项并单击。选择菜单选项后,系统会创建新标签页但Chrome会尝试加载chrome-extension://acpffpbkehpfofhgilcophibgbkhmmba/https://www.google.co.in/search?q=Wikipedia
而不是https://www.google.co.in/search?q=Wikipedia
。
请提出可能存在的问题。相关代码如下。
function GoogleSearch(info, tab) {
console.log("Search Google for " + info.selectionText);
chrome.tabs.create({
url: "www.google.co.in/search?q=" + info.selectionText,
})
}
cmid = chrome.contextMenus.create({
'title': "Search Google for '%s'",
"contexts": ["selection"],
'onclick': GoogleSearch
});
答案 0 :(得分:1)
定义要在 URL
中使用的协议chrome.tabs.create({
url: "https://www.google.co.in/search?q=" + info.selectionText,
}); // ^^^^^^^^
如果您没有定义协议(或使用<a>
启动 URI ,这将意味着“使用相同的协议”,您将在//
上遇到相同的行为我们现在在“)。这是预期的行为。
答案 1 :(得分:-1)
var onRequest = function (i, t, u) {
var buzz = encodeURI(u + i.selectionText);
chrome.tabs.create({
url: buzz
});
},
createContext = function (t, call) {
chrome.contextMenus.create({
title: t,
contexts: ["selection"],
onclick: call
}, function () {
});
},
run = function (t, u) {
createContext(t, function (i, b) {
onRequest(i, b, u);
});
};
run("Search Google for : \"%s\"", "https://www.google.co.in/search?q=");