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