2016-04-25 8 views
0

Ich habe nach einer Lösung gesucht, um den Inhalt einer Webseite zu entfernen, sobald diese Seite geladen ist.chrome Erweiterung Seite Änderung onload

Die simpliest manifest ist:

{ 
    "manifest_version": 2, 
    "name": "Remove WebPage", 
    "description": "Remove WebPage", 
    "version": "0.2", 

    "content_scripts": [ 
    { 
     "matches": ["http://www.webdomain.net/*"], 
     "js": ["myscript.js"] 
    } 
    ], 

    "permissions": [ 
    "tabs", 
    "http://*/", 
    "https://*/" 
    ] 
} 

und die myscript.js Datei ist

document.addEventListener('DOMContentLoaded', fireContentLoadedEvent, false); 

function fireContentLoadedEvent() { 
    document.body.textContent = "No data anymore"; 
} 

Es sieht einfach aus, aber das funktioniert nicht.

+0

Es lohnt sich zu lernen [wie Englisch Grammatik funktioniert] (http://www.grammbook.com/punctuation/apostro.asp). Ich werde die Frage für Sie bearbeiten, aber bitte achten Sie beim nächsten Mal auf die Schreibweise. – Xan

+0

Mögliches Duplikat von [DOMContentLoaded in Google Chrome registrieren] (http://stackoverflow.com/questions/5082094/register-domcontentloaded-in-google-chrome) –

Antwort

0

Wie Xan bereits darauf hingewiesen hat, läuft Ihr Code zu spät.

sollte die tatsächliche Lösung in Ihrem Fall sein:

1) In "run_at": "document_end" zu Ihrem Manifest so: aus

"content_scripts": [ 
    { 
     "matches": ..., 
     "js": ..., 
     "run_at": "document_end" 
    } 
] 

2) entfernen document.addEventListener('DOMContentLoaded', fireContentLoadedEvent, false); und Ihrer Funktion direkt fireContentLoadedEvent() oder Ihren Code bewegen Sie mit aufrufen der Funktion insgesamt.

0

Ihr Skript führt standardmäßig aus, nachdemDOMContentLoaded ausgelöst wurde. Daher wird Ihr Ereignishandler nie ausgelöst.

Werfen Sie einen Blick auf run_at parameter documentation.

Verwandte Themen