我目前正在使用 ASP.NET 开发一个网站,我总是通过 Firebug 检查它的性能......
现在,我的问题是,
将所有引用 jquery 引用放在 Masterpage 中会更好吗?(先全部参考)
还是将特定的 jquery 引用放到特定的内容页面更好?(仅供参考)
谢谢!
我目前正在使用 ASP.NET 开发一个网站,我总是通过 Firebug 检查它的性能......
现在,我的问题是,
将所有引用 jquery 引用放在 Masterpage 中会更好吗?(先全部参考)
还是将特定的 jquery 引用放到特定的内容页面更好?(仅供参考)
谢谢!
我认为最好将样式表放在母版页中,只要它们是站点范围的样式。您还应该考虑将它们压缩到一个下载中,这样可以减少 HTTP 请求。
维护方面,我会将每个引用放在它所属的位置,具体取决于您的 jquery 引用对象的范围。
例如,如果它与主导航有关,它出现在所有呈现的页面上,因此肯定在您的母版页中,那么您最好$("#navBar")
靠近您的<div id="navBar">...</div>
,即在您的 MasterPage 上。
另一方面,如果它与特定内容页面相关,假设您需要在主页上使用闪亮的轮播(及其特定的 jQuery 插件),那么您最好$('myCarousel').carousel(2);
靠近您<div id="carousel">
,即在您的 HomePage.aspx 内容页面上。
当您将内容发送到它们所属的地方时,如果您可以确定轮播插件仅在您的主页上是必需的,那么您最好只在您的 HomePage.aspx 内容页面上包含该插件。
您不仅可以简化维护工作,而且还可以获得性能方面的好处,因为您更有可能仅在使用变量时才对其进行初始化,从而减少浏览器的内存开销。关于加载插件相关资源的相同内容(您可能不希望每个页面加载都臃肿,因为您的主链接到您网站某处所需的所有内容)。
一般来说,我会鼓励您识别您将在多个页面上使用的任何库或插件,并将它们包含在一个位置,该位置会自动将它们放入这些页面中。
为了可维护性,我通常将我所有的第三方库(如 jQuery、jQuery-UI、Backbone 等)以及我知道我将在整个站点中使用的任何插件混合/缩小到一个 JS 文件中. 这样做的缺点是您可能有一个非常大的 JS 文件,它会在用户第一次加载页面时加载 - 好处是:客户端缓存该文件,用户不必再次加载它。
一般的经验法则是:减少用户必须下载的字节数,并减少用户必须在整个站点中发出的 HTTP 请求数。所以 - 通过将这些类型的文件压缩到一个下载中,并让它存在于具有相同 URL 的每个页面上 - 你可以有一个通常得到 302 响应并且没有下载的单个请求。这比在不同页面上加载 5 个不同的插件要好得多,每个插件都进行单独的 HTTP 调用——即使这些调用都收到 302 响应。
这不是在内容页面上引用 jquery 引用的正确方法。
一旦在母版页上提供 jquery 引用并在所有内容页面上使用它们。这是,正确和优化的方法。