2017-10-02 1 views
1

Ich entwickle eine Erweiterung für Google Chrome, die eine Firebase-Datenbank erfordert. Es funktioniert gut, "popup.html" ist derzeit geöffnet. Aber wenn es schließt, hört meine background.js auf zu arbeiten.Wie kann Javascript im Hintergrund ausgeführt werden, ohne popup.html in der Chrome-Erweiterung zu öffnen?

Ich brauche eine Lösung, die es ermöglicht, dass background.js im Hintergrund läuft, auch wenn die popup.html geschlossen ist oder der Browser minimiert ist.

Hier ist meine background.js:

var db = firebase.database().ref(); 
var clipText; 

setInterval(function() { 

document.addEventListener('paste', function(event) { 

    clipText = event.clipboardData.getData('Text'); 

    if (clipText != null) { 

     db.child('data').set(clipText); 
    } else { 

     console.log('Cliptext is null...'); 
    } 
}); 

    document.execCommand('paste'); 
    }, 3000) 

Wie Sie sehen, es nutzt „setInterval“ -Funktion einige Aktionen im Hintergrund alle 3 Sekunden zu tun.

+0

Ist Ihre Datei background.js in der Datei manifest.json? –

+0

"content_scripts": [{"Übereinstimmungen": [""], "js": ["background.js"]}], – turing

Antwort

1

Aufgrund Ihres Kommentars deklarieren Sie Ihre background.js im Inhaltsskript.

Sie müssen es in Ihrem manifest.json wie dies zum Beispiel erklären:

"background": { 
    "persistent": true, 
    "scripts": ["lib/jquery-3.1.1.min.js", "background.js"] 
}, 

Sie über Chrome-Erweiterungen Architektur here lesen kann.

Verwandte Themen