我正在尝试创建一个包含以下功能的 chrome 扩展:
1 当用户访问某个域的页面时,此扩展程序将删除页面中的一些域。
2 检查所有图片的尺寸,如果其中一张尺寸大于指定尺寸,则该图片将设置为指定尺寸,当用户点击它时,该图片将调整为原来的尺寸。
现在这就是我所做的:
"content_scripts": [
{
"matches": ["http://*.xx.com/*"],
"js": ["res/js/jquery-2.0.3.min.js", "res/js/inject.js"],
"run_at": "document_end"
}
]
注入.js:
$(document).ready(function () {
$("xxx").remove();
$("img").each(....);
});
但是我遇到了一些问题:
1 jquery库是在本地引用的,有没有办法从CDN源加载jquery?
2 页面完全加载需要很长时间,这意味着要删除的内容将保持很长时间可见。
3 页面使用类似twitter的布局,当用户滚动页面时,会加载更多内容。所以问题来了。
我inject.js
将在页面加载完成后运行,所有已加载的图像都将被处理。但是当加载更多内容时,新加载的图像将不会被处理。
所以我想知道是否有一些element_rendered
我可以捕捉到的事件?如果是,我可以像这样完成我的工作:
xxx.events.addListener('element_rendered',function(ele){
if(shouldRemvoed(ele)){
//remvoe it.
} else if(isImg){
//check size......
}
});
这是可能的,还是有替代方法来完成我的工作?