我一直致力于一个相当大规模的项目,它利用了许多不同的页面,每个页面都有一些非常具体的Javascript。为了减少加载时间,我计划在部署之前将其全部缩小为一个文件。
问题在于:我应该如何避免在不需要它的页面上启动特定于页面的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() {
...
});
虽然很酷,但只是用错误的方式揉搓我。
答案 0 :(得分:3)
我通过在<body>
元素上为每个页面提供唯一ID来完成此操作:
<html><head>...</head><body id="sign-in">...</body></html>
将所有特定于页面的脚本编写在jQuery块中,如下所示:
$(function(){
if (!$('body#sign-in').length) return;
// Code specific to sign-in page here
});