2017-10-10 7 views
0

Je suis en train de développer ma première extension dans google chrome et je suis ce tutoriel: Tutorial Tout fonctionne très bien sauf les 2 lignes de code dans content.js Le problème est que le contenu de " content.js "n'est pas correct et je suis" non défini "dans la console chromée pour la ligne 2. Quelqu'un peut-il m'aider s'il vous plaît et laissez-moi savoir pourquoi cela se produit? Je partage le contenu de content.js avec vous afin de m'aider.google chrome extensions développement

content.js contenu:

var firstHref = $("a[href^='http']").eq(0).attr("href"); 
console.log(firstHref); 

contenu du fichier manifeste/JSON:

{ 
"manifest_version": 2, 
"name": "My Cool Extension", 
"version": "0.2", 
"icons": { "128": "icon_128.png" }, 
"background": { 
"scripts": ["background.js"] 
}, 
"content_scripts": [ 
{ 
    "matches": [ 
    "<all_urls>" 
    ], 
    "js": ["jquery-2.1.3.min.js", "content.js"] 
} 
], 
"browser_action": { 
"default_icon": "icon.png" 
}, 
"permissions": [ 
"tabs" 
] 
} 
+0

Avez-vous injecté jQuery? –

+0

Oui, je l'ai fait en ajoutant le fichier jquery-2.1.3.min.js dans mon dossier d'extension. J'ai également partagé mon fichier manifeste ci-dessus afin de vérifier par vous-même. – NaThAN

+0

S'il vous plaît [modifier] la question à être sur le sujet: inclure un [mcve] qui * duplique le problème *. Pour les extensions Chrome ou Firefox WebExtensions, vous devez presque toujours inclure votre * manifest.json * et une partie de l'arrière-plan, du contenu et/ou des scripts contextuels/HTML, et souvent des HTML/scripts de pages Web. Les questions demandant l'aide au débogage ("pourquoi mon code ne fonctionne-t-il pas comme je veux?") Doivent inclure: (1) le comportement souhaité, (2) un problème ou une erreur spécifique et (3) le code le plus court nécessaire pour le reproduire * dans la question elle-même *. S'il vous plaît voir aussi: [Quels sujets puis-je poser ici?] (/ Help/on-topic), et [ask]. – Makyen

Répondre

0

Je suppose, votre script de chargement du contenu avant tout le document est loaded.That est la raison pour laquelle il est revenu undefined. Pour vous assurer que vos scripts de contenu sont correctement inject à, vous devez définir « run_at » dans le fichier manifest.json Exemple:

"content_scripts": [ 
     { 
      "matches": ["<all_urls>"], 
      "js": ["content.js"], 
      "run_at": "document_end", 
      "all_frames": true 
     } 
    ], 

s'il vous plaît vérifier Content Scripts parameters pour plus de détails.

+0

J'ai ajouté les lignes run_at et all_frames à manifest.json mais j'ai toujours la même chose. – NaThAN

+0

quel site avez-vous essayé avec? – user3444693