سؤال

I'm trying to work on a Chrome browser extension which does fun things on a contextmenu. The problem is, I can't get the JS files to load within the manifest.json content_scripts.

I don't receive an error, the files simply do not load.

The scripts are good, if I put them in my background page, they fire fine through that background page. The downside of that is it's restricted to only the background page.

{
"name": "Mini",
"description": "Mini",      
"permissions": ["contextMenus","management","contentSettings","tabs","http://*/*","https://*/*","editable"],
"version": "0.1",
"manifest_version": 1,
"background_page": "mini.html",
"icons" : {"16" : "mini.png"},
"contexts" : ["link","tab","page"],
"content_scripts": [{"matches":["<all_urls>"],"js":["jquery172min.js","mini.js"]}]
}

I've tried all forms of matches, including "http://\*/\*", "https://\*/\*", "\*://\*/\*"

I've tried whitespaces, no whitespaces. I'm drawing a blank here.

Any help would be appreciated.

$(document).ready(function () {

alert("page is ready");
},true);    

My apologies for that. This is a copy of the javascript/Jquery I'm using to test whether the extension has loaded or not. It's just a simple alert.

هل كانت مفيدة؟

المحلول

Content scripts cannot use the chrome.contextMenus API (in fact, these can only use some of the chrome.extension methods).

It's possible to apply match patterns to individual menu items, via chrome.contextMenus.create({title: 'Test', documentUrlPatterns: 'http://*/*'});.
Created menu items can also be modified (chrome.contextMenus.update) and removed (chrome.contextMenus.remove).

To communicate between a Content script and the background page, see Message passing.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top