每次加载新页面时加载javascript文件

每次加载新页面时加载javascript文件,javascript,jquery,html,pjax,Javascript,Jquery,Html,Pjax,我在我的网站上使用(一个pjaxjquery插件),我遇到了一些关于javascripts的问题。这是非常喜怒无常的-有时一个页面会加载所有的脚本工作正常,但其他时候部分脚本不会运行。此外,脚本运行不止一次。例如,如果我在.click()函数中设置了控制台日志,我将在控制台日志应该只有一个时多次看到控制台日志 在instantclick.io文档中,它解释了如何在每个页面加载脚本: 如果在每次页面更改时都需要执行JavaScript片段,请使用以下命令: InstantClick.on('cha

我在我的网站上使用(一个
pjax
jquery插件),我遇到了一些关于javascripts的问题。这是非常喜怒无常的-有时一个页面会加载所有的脚本工作正常,但其他时候部分脚本不会运行。此外,脚本运行不止一次。例如,如果我在
.click()
函数中设置了控制台日志,我将在控制台日志应该只有一个时多次看到控制台日志

在instantclick.io文档中,它解释了如何在每个页面加载脚本:

如果在每次页面更改时都需要执行JavaScript片段,请使用以下命令:
InstantClick.on('change',yourCallback)

但是我需要运行一个完整的js文件,而不仅仅是一个函数。我已经尝试将
InstantClick.on('change',function(){
包装在我的整个js文件中,但是在打开新页面后脚本仍然没有再次运行

在我的控制台中,我看到许多与未定义函数相关的错误,这表明每次都没有加载文件


我该如何解决这个问题呢?谢谢!

编写这样的回调代码,以便将js文件动态添加到DOM中

  var jsFile=document.createElement('script');
  jsFile.setAttribute("type","text/javascript");
  jsFile.setAttribute("src", link);
  document.getElementsByTagName("head")[0].appendChild(jsFile);
然后将链接更改为js文件的url路径。

像这样使用它

 long dateTimeSec = new Date().getTime();
 <link rel="stylesheet" href="bootstrap/css/bootstrap.css?v=<%=dateTimeSec%>">
long dateTimeSec=new Date().getTime();

Sweet,正是我想要的!