2012-05-01 4 views
2

J'essaie de travailler sur une extension de navigateur Chrome qui fait des choses amusantes dans un menu contextuel. Le problème est que je ne peux pas charger les fichiers JS dans le fichier manifest.json content_scripts.Scripts de contenu Chrome ne se charge pas JS

Je ne reçois pas d'erreur, les fichiers ne se chargent tout simplement pas.

Les scripts sont bons, si je les mets dans ma page d'arrière-plan, ils tournent bien à travers cette page d'arrière-plan. L'inconvénient est que c'est limité à la seule page d'arrière-plan.

{ 
"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"]}] 
} 

J'ai essayé toutes les formes de matches, dont "http://\*/\*", "https://\*/\*", "\*://\*/\*"

Je l'ai essayé, sans espaces blancs espaces blancs. Je dessine un blanc ici.

Toute aide serait appréciée.

$(document).ready(function() { 

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

Mes excuses pour cela. Ceci est une copie du javascript/Jquery que j'utilise pour tester si l'extension a été chargée ou non. C'est juste une simple alerte.

Répondre

2

Content scripts ne peut pas utiliser l'API chrome.contextMenus (en fait, ceux-ci ne peuvent utiliser que some of the chrome.extension methods).

Il est possible d'appliquer match patterns à des éléments de menu individuels, via chrome.contextMenus.create({title: 'Test', documentUrlPatterns: 'http://*/*'});.
Les éléments de menu créés peuvent également être modifiés (chrome.contextMenus.update) et supprimés (chrome.contextMenus.remove).

Pour communiquer entre un script de contenu et la page d'arrière-plan, voir Message passing.

+0

Merci! Le problème est que je n'arrive même pas à tester cette partie. Même si je devais mettre une alerte simple qui se déclenche au chargement de la page (via jquery), elle ne se déclenche pas. Lorsque je regarde dans le panneau des développeurs, aucun script n'est chargé pour cette extension. –

+0

Quels outils de développement? Les scripts de contenu sont invisibles et ne peuvent être consultés que ** indirectement ** à partir des outils de développement de la page d'arrière-plan. Les messages 'console.log' du script de contenu s'affichent dans la page sur laquelle il est actif. –

+0

Ok, je parlais des outils de développement fournis avec Chrome. Donc, je ne le verrais pas comme chargé. Cependant, ne devrais-je pas voir le déclencheur d'alerte? Je vais regarder dans console.log. Je ne savais pas à propos de celui-là. Merci –

Questions connexes