Chrome Addon未在上下文菜单中显示

时间:2012-09-02 18:00:00

标签: google-chrome google-chrome-extension

  

可能重复:
  Port error while changing chrome extension from manifest v1 to v2

我正在尝试为我的网站开发一个插件。我的用户需要能够右键单击任何网页上的任何超链接,然后点击Chrome上下文菜单中的链接,该链接会将他们带到我的网站以执行操作。

我的插件已完成,但每次尝试测试时,只要点击超链接,该链接就不会出现在Chrome上下文菜单中。

这是我的档案:

manifest.jason

{
"manifest_version": 2,
"background_page": "background.html",
"description": "Decrypt Short URLs.",
"icons": {
  "128": "icon-128.png",
  "16": "icon-16.png",
  "48": "icon-48.png"
 },
"minimum_chrome_version": "8.0.0.0",
"name": "xxxx.xxx",
"permissions": [ "http://*/*", "https://*/*", "tabs", "contextMenus" ],
"version": "1.0"
}    

background.html

<!DOCTYPE html>

<html>
<head>

</head>
<body>
<script>


  function handleClick() {
    return function(info, tab) {

      var url = 'http://xxx.xxx/api.php?url=' + info.linkUrl +    '&source=chromeextension'

      // Create a new tab to the results page
      chrome.tabs.create({ url: url, selected:true  });
    };
  };

  chrome.contextMenus.create({
    "title" : "Decrypt this Link",
    "type" : "normal",
    "contexts" : ["link"],
    "onclick" : handleClick()
  });
 </script>
</body>

我将不胜感激。

1 个答案:

答案 0 :(得分:1)

我猜问题出在您的清单文件中。您使用清单版本2,但您的背景页面在清单版本1中声明。

您应该尝试更改manifest.json的这一部分:

"background_page": "background.html",

关于这一个:

  "background": {
        "scripts": ["background.js"]
    },

并将所有后台代码放入background.js

您可以在此处阅读更多信息:background_pages

P.S。抱歉,Mr. Rob W已在主要问题的评论中指出此问题。