Je fais un remplissage automatique extension chrome. À savoir, une fois en appuyant sur un bouton, un formulaire de saisie dans le contenu de la page web sera complétée par le texte de l'popup.html. Je suis cela "ne peut pas lire les propriétés de la valeur null," erreur lors du démarrage à partir d'où j'ai ajouté un écouteur d'événement à mon bouton. [Uncaught TypeError: Cannot read propriétés de null (en train de lire "la méthode addEventListener')][1]
Voici mon fichier html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Autofill</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<p id="testText">Text to put</p>
<button id="fillForm">Fill!</button>
<script src="app.js" ></script>
</body>
</html>
Voici mon app.js
console.log('background running!!!')
let testtext = document.getElementById('testText')
let button = document.getElementById('fillForm')
button.addEventListener('click', buttonClick);
function buttonClick(){
params = {
active: true,
currentWindow: true
}
chrome.tabs.query(params, gotTabs);
function gotTabs(tabs){
let text = testtext.innerHTML
let content = {
username: text
}
chrome.tabs.sendMessage(tabs[0].id, content);
}
}
Voici mon content.js
console.log("Receiving message...")
chrome.runtime.onMessage.addListener(gotMessage);
function gotMessage(message, sender, sendReponse){
document.getElementById('email').value = content.username
}
Enfin, mon manifeste.json
{
"name": "Resume Autofiller",
"description": "Build an Extension!",
"version": "1.0",
"manifest_version": 2,
"browser_action":{
"default_popup": "index.html"
},
"permissions": [
"activeTab",
"<all_urls>"
],
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": [ "content.js" ]
}
],
"background": {
"scripts": ["app.js"]
}
}
J'ai lu en ligne que je devrais mettre mon script étiquette au bas de la balise body, mais j'ai toujours cette erreur. J'ai l'impression que je suis la supervision de quelque chose d'évident, par conséquent, toute aide est grandement appréciée. Merci!! Ci-joint l'erreur que j'obtiens. [1]: https://i.stack.imgur.com/GyNXO.png