温馨提示:本文翻译自stackoverflow.com,查看原文请点击:javascript - Chrome Extension Doesn't Work After Scrolling
console google-chrome google-chrome-devtools google-chrome-extension javascript

javascript - 滚动后Chrome扩展程序不起作用

发布于 2020-04-15 12:32:45

我对正在制作的Chrome扩展程序有疑问。我尝试创建与此类似的扩展名,该扩展名将用cat图像替换网站上的所有图像:

https://blog.lateral.io/2016/04/create-chrome-extension-modify-websites-html-css/

我在Facebook上尝试过。

代码很简单:

var images = document.getElementsByTagName('img');
for (var i = 0, l = images.length; i < l; i++) {
  images[i].src = 'http://placekitten.com/' + images[i].width + '/' + images[i].height;
}

我的问题是,它仅适用于首次出现在Facebook上的图像,并且滚动了一点后便停止替换图像。同样,当向上滚动时,最初替换的图像现在又恢复为原始。

有什么办法可以解决这个问题,即使在向下滚动后加载新图像时,扩展程序也可以在整个网站上正常工作?谢谢!

查看更多

提问者
ATT
被浏览
24
Gergely Szabo 2020-02-04 23:54

您需要确保在出现新图像时重新运行代码。最简单的解决方案是让setInterval()定期调用它。使用突变观察者可以完成更有效的解决方案。可能还有其他方法可以检测出现的新图像,例如检查窗口的高度或收听用户操作(例如滚动)。