2012-07-09 45 views
2

我一直在研究一個相當大規模的項目,該項目使用了許多不同的頁面,每個頁面都有一些非常具體的Javascript。爲了減少加載時間,我計劃在部署之前將它全部縮減爲一個文件。使用縮小頁面特定JS

問題是這樣的:我應該如何避免在不需要的頁面上啓動頁面特定的JS?到目前爲止,我最好的解決方案已經在一些額外的容器

<div id='some_page'> 
...everything else... 
</div> 

包裹每一頁,我擴展jQuery的,所以我可以做這樣的事情:

// If this element exists when the DOM is ready, execute the function 
$('#some_page').ready(function() { 
    ... 
}); 

其中,而那種冷靜,只是摩擦的我錯了。

回答

3

我已經通過給每個頁面一個唯一ID <body>元素上做到了這一點:

<html><head>...</head><body id="sign-in">...</body></html> 

和寫作中的jQuery塊我所有的特定頁面的腳本,像這樣:

$(function(){ 
    if (!$('body#sign-in').length) return; 
    // Code specific to sign-in page here 
}); 
+0

這實際上是本質我如何做我的jQuery編輯,我想這似乎是最好的方式去做。謝謝。 – 2012-07-10 14:45:52

+0

我一直在尋找這種類型的答案,因爲谷歌不斷給我的建議,關鍵字搜索「條件加載JavaScript」在非縮小的環境中,永遠找不到它。你知道通過JS進行檢測是否是2014年被接受的最佳做法,還是應該依靠我的構建工具? – 2014-08-28 00:43:45