我尝试创建一个简单的chrome扩展,在chrome的上下文菜单中添加一个选项。
这是我的manifest.json
{
"manifest_version": 2,
"background": "background.html",
"description": "Add a context menu item to search for selected text at Google Maps.",
"icons": {
"16": "icon16.png"
},
"name": "Google Maps Right Click",
"permissions": [ "contextMenus", "tabs" ],
"version": "1.0"
}
这里是我的background.html:
<script>
function searchgooglemaps(info)
{
var searchstring = info.selectionText;
chrome.tabs.create({url: "http://maps.google.com/maps?q=" + searchstring})
}
chrome.contextMenus.create({title: "Search Google Maps", contexts:["selection"], onclick: searchgooglemaps});
</script>
但是当我加载扩展程序并右键单击某个选项时,“搜索Google地图”按钮不会出现,我不明白为什么......
提前感谢您的帮助。
答案 0 :(得分:3)
HTML文件中的内联JavaScript通常不再起作用;把你的JavaScript放到自己的文件中。
您还可以让Chrome为您创建background page,节省空间。
所以,要使你的扩展工作:
1)创建一个文件(例如background.js
)并将JavaScript放入其中:
function searchgooglemaps(info)
{
var searchstring = info.selectionText;
chrome.tabs.create({url: "http://maps.google.com/maps?q=" + searchstring})
}
chrome.contextMenus.create({title: "Search Google Maps", contexts:["selection"], onclick: searchgooglemaps});
2)在您的清单中,将background
行替换为:
"background": {
"scripts": ["background.js"]
},