如何每次都运行内容脚本

时间:2015-10-04 23:57:13

标签: javascript jquery google-chrome google-chrome-extension soundcloud

美好的一天,
我有这个问题与谷歌铬扩展只加载一次。
例如,我与soundcloud有关。我加载页面,扩展现在正在工作,但当我点击“相关曲目”中的某首歌时,我想要扩展再次加载。刷新页面时,它可以正常工作,但是当我点击页面上的某些歌曲时,它不会再次加载。
我的猜测是页面没有“完全刷新”,但只有部分DOM被更改,因此这可能是内容脚本不再运行的原因。
提前谢谢

1 个答案:

答案 0 :(得分:0)

如果页面没有刷新,为了让您的内容脚本起作用,您必须定义它的触发器。

最有可能的是,您希望使用点击事件来执行需要您执行操作的特定操作。将代码的相关部分包含在函数中,并使用相关事件触发代码。一般例子:

function myMainFunction(){
    // Whatever happens on load or click...
}

// Register to run on load:
$(myMainFunction);

// Register to run when an element with id "triggerElement#" is clicked:
$("#triggerElement1").click(myMainFunction);
$("#triggerElement2").click(myMainFunction);
// ...

第二个选项(如果相关)是定期运行脚本:

// Set to run every 5 seconds (5000 ms):
setTimeout(myMainFunction, 5000);

在这种情况下,请远离非常小的值,因为这会产生负载。另请注意,这基本上是无限循环,因此请远离内存泄漏。

来源: