我制作了一个简单的扩展程序,可在页面加载时运行内容脚本。它改变了img标签的src属性。每当网站获得新的img标签时,如何让它运行?例如,如果您在Facebook上向下滚动新内容,我想将这些新图像更改为我自己的图像。也许有更好的方法?提前致谢。更改页面上的运行脚本
0
A
回答
2
我会创建一个mutation observer并将其添加到页面加载后注入的内容脚本中。
下面的代码正在监听的图像被添加到主体元件,和一个触发事件的每个第二模拟的图像被添加到DOM
// select the target node
var target = document.querySelector('body');
// create an observer instance
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
var nodes = mutation.addedNodes;
var node;
for(var n = 0; node = nodes[n], n < nodes.length; n++) {
if(node.tagName == "IMG") {
console.log("Image found");
}
};
});
});
// configuration of the observer:
var config = { attributes: false, childList: true, subtree: true, characterData: false };
// pass in the target node, as well as the observer options
observer.observe(target, config);
setInterval(function() {
var i = new Image();
document.body.appendChild(i);
}, 1000);
+0
我在控制台中没有任何消息。 –
+0
你看到他们加载:https://jsbin.com/faqipi/latest – Kinlan
+0
在这里它的工作原理,但不是在Facebook或谷歌图形。 –
相关问题
- 1. 页面上运行Ruby脚本刷新
- 2. 在方向更改上运行脚本
- 3. 当页面通过ajax更改时,如何运行Greasemonkey脚本?
- 4. Jquery在php脚本运行之前验证更改页面
- 5. 在成功页面上更改Magento页脚中的页脚
- 6. 使用脚本永久更改页面
- 7. 从PHP脚本更改页面?
- 8. 运行php脚本而不改变当前页面的按钮
- 9. 正在运行脚本时进行JavaScript页面更新
- 10. 加载页面后运行php脚本
- 11. Pjax运行页面特定脚本
- 12. 从echo $页面运行php脚本['content']
- 13. 在页面加载时运行脚本
- 14. 在.net页面中运行PHP脚本
- 15. 在页面加载运行角脚本
- 16. 在html页面运行PHP脚本
- 17. 脚本未能修改AJAX页面加载的jQuery Mobile页面上的页脚?
- 18. 查找运行脚本的页面上的xpaths
- 19. 脚本是否可以更改脚本运行的bash的cwd?
- 20. 如何在域的所有页面上运行javascript脚本?
- 21. 脚本没有在框架中打开的页面上运行
- 22. 如何确定我的脚本在哪个页面上运行
- 23. 停止脚本在不需要的页面上运行
- 24. 在iPhone上运行selenium脚本时的空白页面
- 25. 对PHP脚本进行更改以作为Perl脚本运行
- 26. 运行脚本加载和更改
- 27. php在运行时更改脚本
- 28. 可能在运行时更改脚本?
- 29. 在运行时更改启动页面
- 30. 问题页面渲染上的运行脚本vs页面加载,在webkit中
还有许多其他的例子采用MutationObserver的,并且还包装库。 – wOxxOm