在我的Google Chrome扩展程序中,我有一个Content Script(content.js)和一个Background Page(background.html)。我有context.js检查页面上显示的关键字。但是,我想等到页面完全加载,直到我搜索页面,因为关键字可能出现在页面的底部。
参见Page action by content三明治示例(files),这基本上就是我在做的事情。如果您加载了扩展程序,您会看到只有在页面顶部显示“三明治”一词时才能使用扩展程序。
答案 0 :(得分:18)
尝试将其添加到manifest.json文件的“content_scripts”部分。
"run_at": "document_end"
http://code.google.com/chrome/extensions/content_scripts.html
答案 1 :(得分:5)
作为清单"run_at": "document_end"
的替代方案,可以应用标准的javascript事件处理方法。例如,DOMContentLoaded事件可用于运行需要加载DOM的逻辑。
<强>的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);