2012-07-09 46 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