日期:2014-05-16  浏览次数:20507 次

Chrome扩展之content_scripts的执行时刻???

manifest.json文件的内容如下:

{
  "name": "我的扩展",
  "version": "1.0",
  "description": "测试使用",
  "content_scripts": [
        {
            "matches": ["http://*"],
            "js": ["myContentScript.js"]
        }
    ]
}

当打开一个网页时,myContentScript.js是什么时间执行的?它能改变DOM结构,应该是DOM加载完成之后才执行吧!

我用脚本删除广告,成功了,但是广告是出现后又被删除的!

但 Ad Block Plus 过滤的广告根本不会在页面上出现,它是如何做到了呢?难道它是先对获取的页面源码进行过滤,再加载DOM结构?


------解决方案--------------------
没用过你说的myContentScript.js

但如果你执行这个的是在
window.onload中。则有可能会出现你说的情况,因为页面中所有的元素均已加载完成

但如果是执行在docuemnt.ready之中,则会在DOM元素加载完成之后就发生效果,而不用等其他元素加载完成。从流程上来讲,早于window.onload