Chrome上下文菜单生成不正确的链接

Chrome Context menu is generating incorrect link

本文关键字:不正确 链接 上下文 菜单 Chrome      更新时间:2023-09-26

我已经写了一个上下文菜单代码类似于谷歌的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,
}); //    ^^^^^^^^

如果您不定义协议,您将在<a>上遇到相同的行为(或使用//启动URI,这意味着"使用与我们现在使用的相同的协议")。

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=");