使用Minified Page Specific JS

时间:2012-07-09 18:45:25

标签: javascript jquery load-time

我一直致力于一个相当大规模的项目,它利用了许多不同的页面,每个页面都有一些非常具体的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() {
    ...
});

虽然很酷,但只是用错误的方式揉搓我。

1 个答案:

答案 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
});