您的位置:首页 > 编程语言

Chrome扩展修改页面代码执行环境的方法

2015-09-22 19:35 411 查看
Chrome的扩展程序可以通过content scripts向页面中注入js代码,所注入的js代码能够对页面中所有的DOM对象进行操作。由于Chrome在js执行环境上对页面代码和content scripts代码进行了隔离,所以,在content scripts中,无法直接修改页面代码执行环境。不过我们还是可以通过一些技巧向页面代码执行环境中插入想要执行的js代码段,从而能够修改页面代码的执行环境。

第一种方法,通过在DOM对象上添加一个event handler,然后派发对应的event给该DOM对象,触发调用添加的event handler。该event handler的回调发生在页面代码执行环境中,可以趁机对页面代码执行环境进行修改。具体代码可以参考stackoverflow.com中的一个问答:(http://stackoverflow.com/questions/23202136/changing-navigator-useragent-using-chrome-extension)。

第二种方法,可以通过在document里面插入一个script element,script元素里面的代码可以直接在页面代码执行环境中执行。同样的,该代码段也可以对页面代码执行环境进行修改。该方法的demo可以参考(https://github.com/ratzhou/tomato)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: