我製作了一個簡單的擴展程序,可在頁面加載時運行內容腳本。它改變了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