Chrome扩展程序 - 特定页面上的上下文菜单

时间:2013-12-31 20:44:50

标签: javascript google-chrome

我想知道是否可以在特定页面上显示以下上下文菜单项。

我认为它与 documentUrlPatterns 有关(在输入时可以看到here)但我不知道如何使用以下代码实现它:


<小时/>

的manifest.json

{
    "name": "App Name",
    "version": "1.0",
    "manifest_version": 2,
    "description": "Description",

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

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



的script.js

function getword(info,tab) {
    chrome.tabs.create({ 
        url: "http://www.google.com/search?q=" + info.selectionText,
    })
}

chrome.contextMenus.create({

    title: "Search: %s", 
    contexts:["selection"], 
    onclick: getword,

});


<小时/>

如果您能提供仅适用于您选择的特定网站的演示(例如,Stack Overflow的任何目录和Google的任何目录),那将是非常棒的。

PS。上述代码允许用户在任何网站上进行选择,并提供一个按钮(在上下文菜单中),该按钮将搜索用户在http://www.google.com/search?q=上选择的内容{Selection}

2 个答案:

答案 0 :(得分:13)

我已经删除了您的代码以演示选择性上下文菜单选项显示。

的manifest.json

{
    "name": "zambrey",
    "version": "1.0",
    "manifest_version": 2,
    "description": "Description",

    "permissions": [
        "contextMenus"
     ],

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

trial.js

var showForPages = ["https://www.google.com/","*://github.com/zambrey/*","http://www.nytimes.com/"];

chrome.contextMenus.create({
    "title": "zambrey",
    "documentUrlPatterns":showForPages
});

请务必查看http://developer.chrome.com/extensions/match_patterns.html以获取有关网址格式语法的详细信息。

另请参阅此http://developer.chrome.com/extensions/examples/api/contextMenus/basic.zip示例以获取更复杂的上下文菜单。

答案 1 :(得分:0)

我相信你需要manifest.json中的“权限”选项:

"permissions": [
    "http://stackoverflow.com/*"
]

http://developer.chrome.com/extensions/declare_permissions.html