每次加载新页面时加载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,正是我想要的!