2014-03-06 85 views
0

我在我的網站上使用http://instantclick.io(一個pjax jquery插件),我遇到了關於JavaScripts的一些問題。這是非常令人沮喪的 - 有時一個頁面會加載所有的腳本工作正常,但其他時間的部分腳本將無法運行。此外,腳本不止一次運行。例如,如果我在.click()函數中設置了一個控制檯日誌,那麼當應該只有一個控制檯時,我會多次看到控制檯日誌。加載JavaScript文件,每當一個新的頁面加載

在instantclick.io文檔,它解釋瞭如何加載每個頁面加載的腳本:

如果你有一段JavaScript代碼,你需要在每一頁上改變執行,使用以下命令: InstantClick.on('change', yourCallback);

但我需要運行一個完整的js文件,而不僅僅是一個函數。我試過圍繞我的整個js文件包裝InstantClick.on('change', function(){,但是在打開新頁面後,腳本仍然沒有再次運行。

在我的控制檯中,我看到很多與函數未定義相關的錯誤,這表明文件沒有每次加載。

我該如何解決這個問題?謝謝!

回答

1

在回調代碼編寫這樣的動態添加JS文件到DOM

var jsFile=document.createElement('script'); 
    jsFile.setAttribute("type","text/javascript"); 
    jsFile.setAttribute("src", link); 
    document.getElementsByTagName("head")[0].appendChild(jsFile); 

,並更改鏈接到URL到您的js文件的路徑。

+0

甜,正是我一直在尋找! –

0

使用這樣

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