Chrome 上下文菜单生成不正确 link
Chrome Context menu is generating incorrect link
我写了一个上下文菜单代码,类似于 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
});
定义要在 URL
中使用的协议
chrome.tabs.create({
url: "https://www.google.co.in/search?q=" + info.selectionText,
}); // ^^^^^^^^
如果您不定义协议(或使用 //
启动 URI,这意味着 "use the same protocol as we're on now").这是预期的行为。
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=");
我写了一个上下文菜单代码,类似于 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
});
定义要在 URL
中使用的协议chrome.tabs.create({
url: "https://www.google.co.in/search?q=" + info.selectionText,
}); // ^^^^^^^^
如果您不定义协议(或使用 //
启动 URI,这意味着 "use the same protocol as we're on now").这是预期的行为。
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=");