Cor*_*ius 7 javascript google-chrome-extension
使用chrome内容脚本我想在加载内容之前删除网页中的几个iframe.
我发现,在extentions清单中使用属性run_at:document_start我的javascript是在主页面请求之后和DOM处理之前执行的,并且加载了图像,iframe等.此时逻辑上DOM结构不可用,我不能使用如下命令修改页面:
myelement=document.getElementById('iframeX');
myelement.parentNode.removeChild(myelement);
Run Code Online (Sandbox Code Playgroud)
我如何访问和修改所需的页面数据呢?
您需要在document_start上触发内容脚本并添加beforeload侦听器 - 您可以使用event.preventDefault选择性地阻止加载内容,然后删除尝试加载内容的帧:
document.addEventListener('beforeload', function(event) {
if (event.url.match('facebook')) {
event.preventDefault();
$(event.target).remove();
}
}, false);
Run Code Online (Sandbox Code Playgroud)
我在博客上发表了关于使用Firefox的beforeload事件的等效方法.
| 归档时间: |
|
| 查看次数: |
2656 次 |
| 最近记录: |