Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何每次运行内容脚本_Javascript_Jquery_Google Chrome_Google Chrome Extension_Soundcloud - Fatal编程技术网

Javascript 如何每次运行内容脚本

Javascript 如何每次运行内容脚本,javascript,jquery,google-chrome,google-chrome-extension,soundcloud,Javascript,Jquery,Google Chrome,Google Chrome Extension,Soundcloud,你好, 我有这个问题,谷歌浏览器的扩展,只加载一次

你好,
我有这个问题,谷歌浏览器的扩展,只加载一次<例如,我与soundcloud有关。我加载页面时,分机正在工作,但当我点击“相关曲目”中的某首歌曲时,我想再次加载分机。当我刷新一个页面时,它会工作,但当我点击页面上的某首歌曲时,它不会再次加载

我猜页面没有“完全刷新”,但只有部分DOM被更改,所以这可能是内容脚本无法再次运行的原因
提前感谢

当页面未刷新时,为了让内容脚本发挥作用,您必须定义其触发器

最可能的情况是,对于需要您执行操作的特定操作,您希望使用单击事件。将代码的相关部分封装在函数中,并使用相关事件触发代码。一般示例:

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);
在这种情况下,请远离非常小的值,因为这将产生负载。还要注意,这本质上是一个无止境的循环,所以请远离内存泄漏


资料来源:


msny其他问题已经涉及到这一点。其他问题还包括通过pushState检测url何时更改