【问题标题】:Chrome Context menu is generating incorrect linkChrome 上下文菜单生成的链接不正确
【发布时间】:2015-05-30 13:13:02
【问题描述】:

我写了一个类似于谷歌的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
                                });

【问题讨论】:

    标签: javascript google-chrome url google-chrome-extension contextmenu


    【解决方案1】:

    在你的URL

    中定义你想要使用的协议
    chrome.tabs.create({ 
        url: "https://www.google.co.in/search?q=" + info.selectionText,
    }); //    ^^^^^^^^
    

    如果您未定义协议(或以 // 开头的 URI,这意味着“使用与我们所使用的相同的协议),您将在 <a> 上遇到相同的行为现在”)。这是预期的行为。

    【讨论】:

      【解决方案2】:
      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=");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多