This is my contextMenus.create function which is throwing the cannot read property of create in undefined error.
chrome.contextMenus.create({
"title": "Buzz This",
"contexts": ["page", "selection", "image", "link"],
"onclick" : clickHandler
});
I also have this in the same content script:
chrome.contextMenus.onClicked.addListener(onClickHandler);
// The onClicked callback function.
function onClickHandler(info, tab) {
window.alert(info.srcUrl);
};
This is my manifest.json
{
"name": "ReportIt",
"version": "0.0.1",
"manifest_version": 2,
"default_locale": "en",
"description": "Immediately Remove and Report",
"icons": {
"16": "images/icon-128.png",
"128": "images/icon-128.png"
},
"content_scripts": [{
"matches": ["<all_urls>"],
"js": ["scripts/contentscript.js"],
"run_at": "document_end",
"all_frames": false
}],
"permissions": [
"http://*/*",
"https://*/*",
"contextMenus"
],
"content_security_policy": "script-src 'self'; object-src 'self'",
"web_accessible_resources":
[
"bower_components/angular/*",
"scripts/background.js"
]
}
All I want to do is create a context menu in a content script. Can anyone see the problem?
You cannot use most chrome apis in content scripts. Instead, create a background page and create the context menu there when it receives a message from the content script. When the background page receives the click event, send a message to the content script.
https://developer.chrome.com/extensions/messaging
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With