gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 15:01:50 25 4
gpt4 key购买 nike

对于在我们的解决方案(APS.NET Webforms)中正确实现 JavaScript,我们有点挣扎。

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

在我们的项目中,有很多 jQuery 代码通常是特定于某些控件的,所以我们不希望在每个页面上都加载这些代码。

目前 jQuery 本身,包括 jQuery UI 都位于页面顶部,因此我们可以在控件中使用 jQuery(来自 js 文件或有时是内联代码),但是,我们希望将所有这些东西移到底部页。我们已经在页面底部添加了一个内容占位符(“JavascriptFooter”),因此我们可以将页面中的 javascript 放置在页面的页脚中,但是我们被困在控件上。

这方面的最佳做法是什么?我们是否应该外部化所有 JS 并在 JS 中检查是否加载了控件?但是我们会一直展示太多的东西。还是有其他方法?

最佳答案

首先,我建议从 CDN 加载 Jquery。这是谷歌的代码:

<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);

关于ASP.NET Webforms,用户控件中的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12303162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com