0

我正在开发一个 chrome 扩展,它是一个 contextMenu 并出现在右键菜单中。但问题是,您必须从 chrome 的右上角打开扩展程序才能使其出现在右键菜单中。我的 javascripts 是外部的。这是我的 javascript 代码:

window.onload = myOnload;
function myOnload(){
  var button = document.getElementById("button");
  button.onclick= function(){myClick()};
  chrome.contextMenus.create({
      "title":"MissLang Fix",
      "contexts":["all"]
  });
  document.getElementById("input").innerHTML = "mojtaba";
}


function myClick(){
    var myString = document.getElementById("input").value;

    for(var i=0;i<myString.length;i++){
        myString = myString.replace("q","ض");
        myString = myString.replace("w","ص");
    }

    document.getElementById("output").innerHTML = myString;
}

这是我的 manifest.json 代码:

{
    "name": "MissLang Fix extension",
    "manifest_version": 2,
    "version": "1.0",
    "description": "fixing english to farsi typings.",
    "icons":{
        "16":"icon_16.png",
        "128":"icon_128.png"
    },

    "browser_action":   {
        "default_icon": "icon.png",
        "default_popup": "missLangFix.html"
    },

    "permissions": [
        "tabs",
        "contextMenus",
    ]

}

我想知道我应该把我的 chrome.contextMenus.create 代码放在哪里,以使图标出现在右键菜单中,甚至在用户从地址栏右侧打开扩展程序之前。
非常感谢

4

1 回答 1

1

你需要一个背景页面

manifest.json

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

将您的脚本放入background.js其中,以便在用户打开浏览器时运行。

额外(相关)

您还可以通过以下方式使您的扩展程序在用户登录到 Windows/Apple/linux 时运行:

"permissions": [
    "background"
]
于 2013-04-13T06:54:57.380 回答