【发布时间】:2012-09-06 15:12:58
【问题描述】:
在我们的解决方案(APS.NET Webforms)中正确实现 JavaScript 方面我们有点挣扎。
根据最佳实践,我们希望将所有(或至少尽可能多的)javascript 放在页面底部,以便页面首先加载 HTML 和 CSS,并提供更好的用户体验。
在我们的整个项目中有很多 jQuery 代码通常特定于某些控件,因此我们不希望在每个页面上都加载这些代码。
目前 jQuery 本身,包括 jQuery UI 都位于页面顶部,因此我们可以在控件中使用 jQuery(来自 js 文件或有时是内联代码),但是,我们希望将所有这些内容移到页面底部。我们已经在页面底部添加了一个内容占位符(“JavascriptFooter”),因此我们可以将页面中的 javascript 放置在页面的页脚中,但是我们被困在控件上。
这方面的最佳做法是什么?我们是否应该外部化所有 JS 并在 JS 中检查是否加载了控件?但是我们会一直展示太多的东西。还是有别的办法?
【问题讨论】:
-
为什么不推迟脚本的执行,直到 DOM 准备好?即 ($(function(){ ..On Ready Code Goes Here .. });
-
($(function(){ console.log("Works?"); }));在头部抛出错误$ is not defined,jQuery 在底部初始化。 -
您需要在执行该脚本之前包含 Jquery……您可以轻松地从 Google 等 CDN 中提取它。我通常在头部包含 Jquery,来自 CDN 和底部的所有其他内容。
-
这就是胎面的重点。如何将控件中的 JS 放在页脚中,而不是将 jQuery 放在页面顶部。
-
您想如何添加 JavaScript?您打算在控件的标记内或后面的控件代码中执行此操作吗?