In der Konsole kann ich document.getElementById ('...') eingeben und einen Wert zurückbekommen. Oder sogar .textContent und bekomme die gewünschte Zeichenfolge.Chrome-Erweiterung - Document.GetelementbyId (...) Auswertung auf Null?
Sobald ich dies in meine Chrome-Erweiterung pop und es ausführen, wertet es document.getElementById ('...') als null. Was geht?
manifest.json:
{
"name": "CSUF RMP",
"version": "0.1",
"manifest_version" : 2,
"description": "Displays professor ratings on icon click",
"background" : {
"scripts" : ["background.js"]
},
"browser_action": {
"default_icon": "icon16.png"
},
"content_scripts": [
{
"matches": ["https://mycsuf.fullerton.edu/*"],
"js": ["script.js"]
}
],
"permissions": ["<all_urls>", "*://*/*", "http://*/*", "https://*/*"]
}
Background.js:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {file: "script.js"});
});
Mein script.js ist buchstäblich, was ich oben geschrieben. Das Skript soll Zugriff auf das DOM der Webseite haben (also brauche ich ein Inhaltsskript) und führe es mit einem Klick auf das Icon aus (daher die background.js)
Ich kann die Seite zum laufen bringen und eine Warnung anzeigen oder etwas, aber diese Zeile bewertet das dom der Seite nicht, nur null.
'document.getElementById ('...')' - wirklich? Ich hätte nicht gedacht, dass eine ID "..." als Wert haben könnte –