问题 Google Chrome扩展程序 - 等待页面加载


在我的Google Chrome扩展程序中,我有一个 内容脚本 (content.js)和a 背景页面 (background.html)。我有context.js检查页面上显示的关键字。但是,我想等到页面完全加载,直到我搜索页面,因为关键字可能出现在页面的底部。

看到 内容页面操作 三明治例子(),这基本上就是我在做的事情。如果您加载扩展程序,您将看到扩展程序仅在页面顶部显示“三明治”一词时才有效。


2998
2017-10-25 22:30


起源



答案:


尝试将其添加到manifest.json文件的“content_scripts”部分。

"run_at": "document_end"

http://code.google.com/chrome/extensions/content_scripts.html


15
2017-10-28 12:26



正是我需要的,谢谢! - yxk


答案:


尝试将其添加到manifest.json文件的“content_scripts”部分。

"run_at": "document_end"

http://code.google.com/chrome/extensions/content_scripts.html


15
2017-10-28 12:26



正是我需要的,谢谢! - yxk


作为清单的替代品 "run_at": "document_end",可以应用标准的javascript事件处理方法。例如, DOMContentLoaded event可用于运行需要加载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);

1
2017-11-06 03:09