2010-10-25 22 views
10

In meiner Google Chrome Extension habe ich eine Content Script (content.js) und eine Background Page (background.html). Ich habe context.js nach einem Schlüsselwort gesucht, das auf der Seite erscheint. Ich möchte jedoch warten, bis die Seite vollständig geladen ist, bis ich die Seite durchsuche, da das Schlüsselwort unten auf der Seite vorkommen kann.Google Chrome Extension - Warten, bis die Seite geladen wird

Siehe Page action by content Sandwich Beispiel (files), das ist im Grunde, was ich tue. Wenn Sie die Erweiterung laden, sehen Sie, dass die Erweiterung nur funktioniert, wenn das Wort "Sandwich" oben auf der Seite erscheint.

Antwort

1

Als Alternative "run_at": "document_end" die zu manifestieren, könnte es eine Standard-JavaScript-Event-Ansatz Umgang angewandt werden. Beispielsweise könnte das Ereignis DOMContentLoaded verwendet werden, um die Logik auszuführen, für die ein geladenes DOM erforderlich ist.

manifest.json

"content_scripts": [ 
     "js": ["content.js"], 
     "run_at": "document_start" 
    } 
] 

content.js

console.log('The extension works'); 
// ... logic that does not need DOM 

function run() { 
    console.log('The DOM is loaded'); 
    // ... logic that needs DOM 
} 

document.addEventListener("DOMContentLoaded", run); 
Verwandte Themen