2016-04-12 11 views
0

Ich bin eine Chrome Erweiterung.Javascript auf Seite laden Code machen es neu zu laden Chrome Erweiterung

Ich möchte eine Funktion beim Laden der Seite auszuführen:

chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) { 
    if (changeInfo.status == 'complete') { 
     var tabUrl = tab.url ; 
     //code ... 
    } 
}); 

diese Weise ist es viel Zeit in Anspruch nimmt zu laden und nach dem Laden fertig beginnt sie eine andere Last. Was ist ein anderer guter Weg, es zu tun?

+0

nur versuchen, 'window.onload = function() {/ * Code * /};' oder '(function() {/ * Code * /}());' –

+0

Welche Funktion sind Sie Möchten Sie anrufen, nachdem die Seite geladen wurde? Je nachdem, was es ist, könnten Sie ein [Inhaltsskript] (https://developer.chrome.com/extensions/content_scripts) verwenden. – dan

+0

Ich habe meine js-Datei im Inhaltsskript hinzugefügt –

Antwort

1

Je nachdem, wo der Code ist, können Sie die folgenden zwei Arten verwenden: (Sagen Sie Ihre Logik func()

  1. Inhalt Scripts ist Wenn Ihr Code in Content-Skripte ist, könnten Sie direkt func aufrufen, ohne zu hören. auf jeden Fall. Da standardmäßig (ohne run_at Einstellung) die run_atdocument_idle wäre, das heißt, Sie Skripte window.onload-Ereignis ausgelöst wird. geladen, nachdem Oder wenn Sie möchten, können Sie run_at: document_start gesetzt, hören dann auf window.onload Ereignis.

  2. Hintergrundseite. Wenn Sie die aktuelle Seite auf der Hintergrundseite überwachen möchten, können Sie das Ereignis webNavigation.onCompleted hören, das ausgelöst wird, wenn ein Dokument, einschließlich der Ressourcen, auf die es verweist, vollständig geladen und initialisiert ist.