我正在尝试编写我的第一个非常简单的 Google Chrome 扩展程序,作为一个朋友的笑话。我希望它用“give a $h1t”替换“like”的实例(我知道这似乎并不成熟,但这只是为了好玩)。
到目前为止,这是我的 Javascript 函数;
function giveASh!t(){
document.body.innerHTML = document.body.innerHTML.replace(new RegExp("Like", "g"), "Give a sh!t");
}
据我了解,通过 HTML 搜索用我的替代方法替换“Like”的每个实例。这行得通。
但是,我面临的问题是,当您向下滚动浏览新闻提要时,新生成的内容不会被更改,“喜欢”的任何新实例都不会被修改。
我知道一旦初始页面完成加载,就会执行此代码,并且一旦执行它就不会重新运行。
我玩过 setInterval() 方法,这会导致一些奇怪的错误。我将它设置为 10 秒的间隔,但它会影响页面上其他内容(例如聊天部分)的加载,并且也不太好,因为页面会“卡顿”,就像正在刷新一样。最终页面会中断,并且无法进一步向下滚动新闻源。
我的主要观点是;我怎样才能让这个javascript以一种很好的方式连续运行?也许更好的方法是监听滚动事件,然后运行 javascript?