Sto facendo una compilazione automatica estensione di google chrome. Cioè, una volta che la pressione di un pulsante, un modulo di immissione nel contenuto della pagina web sarà popolato da il testo del popup.html. Ricevo questo "non può leggere le proprietà di null" errore durante l'avvio, dal quale ho aggiunto un listener di eventi per il pulsante. [Uncaught TypeError: Impossibile leggere la proprietà è null (lettura 'addEventListener')][1]
Ecco il mio file 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>
Qui è il mio 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);
}
}
Qui è il mio content.js
console.log("Receiving message...")
chrome.runtime.onMessage.addListener(gotMessage);
function gotMessage(message, sender, sendReponse){
document.getElementById('email').value = content.username
}
Infine, il mio manifesto.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"]
}
}
Ho letto online che dovrei mettere il mio tag script in fondo il tag body, ma ho ancora questo errore. Mi sento come sto sorvegliando qualcosa di ovvio, di conseguenza, qualsiasi aiuto è molto apprezzato. Grazie!! In allegato l'errore che sto ottenendo. [1]: https://i.stack.imgur.com/GyNXO.png