加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET Webforms,用户控件中的JavaScript

发布时间:2020-12-15 20:57:57 所属栏目:asp.Net 来源:网络整理
导读:关于在我们的解决方案(APS.NET Webforms)中正确实现 JavaScript,我们正在努力. 根据最佳实践,我们希望在页面底部拥有所有(或至少尽可能多)的javascript,因此页面首先加载HTML和CSS,并提供更好的用户体验. 我们的项目中有很多jQuery代码通常特定于某些控件,因
关于在我们的解决方案(APS.NET Webforms)中正确实现 JavaScript,我们正在努力.

根据最佳实践,我们希望在页面底部拥有所有(或至少尽可能多)的javascript,因此页面首先加载HTML和CSS,并提供更好的用户体验.

我们的项目中有很多jQuery代码通常特定于某些控件,因此我们不希望在每个页面上加载它们.

目前jQuery本身,包括jQuery UI位于页面的顶部,因此我们可以在控件中使用jQuery(从js文件或有时是内联代码),但是,我们希望将所有内容移到底部页.我们已经在页面底部添加了一个contentplaceholder(“JavascriptFooter”),因此我们可以从页面页脚中的页面放置javascript,但我们仍然停留在控件上.

这是什么最佳做法?我们是否应该将所有JS外部化并在JS中检查是否加载了控件?但是我们会一直展示太多的东西.或者还有另一种方式吗?

解决方法

首先,我建议从CDN加载Jquery.以下是Google的代码:
<script type="text/javascript">
    document.write(["&;script type='text/javascript' src='",("https:" == document.location.protocol) ? "https://" : "http://","ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'>&;/script>"].join(''));
</script>

这样,如果访问者已在另一个站点上提供此服务,则它已经被缓存.此外,它将从另一台主机交付时并行下载.

我也同意@ctorx – 您应该使用文档就绪执行.

此外,您可以使用ScriptManager并在每个控件的代码后面创建所有控件特定的JS(如果该控件是使用该JS的唯一对象,则可能是一个好主意) – 所有这些代码都呈现在页面底部.

例:

Page pg = (Page)System.Web.HttpContext.Current.Handler; // or this.Page in .ascx
ScriptManager.RegisterStartupScript(pg,typeof(Page),"myJS","[... your code ]",true);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读