gpt4 book ai didi

asp.net - 如何判断 JavaScript 文件是否已包含在 ASP.NET 页面中?

转载 作者:技术小花猫 更新时间:2023-10-29 12:32:09 25 4
gpt4 key购买 nike

我有一个 ASP.NET 用户控件(.ascx 文件)。在此用户控件中,我想使用 .js 文件。

所以我包括<script src="file.js" type"text/javascript"></script>在页面上。

但是,有时我会在已加载相同脚本的网页中使用此用户控件。

如何添加 <script />仅当页面尚未包含另一个 <script /> 时才会在页面上呈现的声明同一脚本的标签?

最佳答案

当您使用 asp.net 时,在服务器端进行检查是有意义的,因为您将在服务器端选择添加对 javascript 文件的引用。从您的 .ascx 文件中,您可以使用以下内容进行注册:

this.Page.ClientScript.RegisterClientScriptInclude("GlobalUnqiueKey", UrlOfJavascriptFile);

...从您的页面直接调用 ClientScript 对象:

ClientScript.RegisterClientScriptInclude("GlobalUnqiueKey", UrlOfJavascriptFile);

'GlobalUniqueKey' 可以是任何字符串(我也使用 javascript 文件的 url)

如果您尝试使用相同的 key 字符串注册脚本,它不会执行任何操作。因此,如果您在您的页面、您的控件或其他任何地方调用它,您将最终在您的页面中只有一个引用。这样做的好处是您可以在一个页面上拥有一个控件的多个实例,即使它们都尝试注册相同的脚本,但最多只能注册一次。他们都不需要担心脚本已经注册。

有一个“IsClientScriptIncludeRegistered(stringkey)”方法,您可以使用它来查看脚本是否已包含在该键下,但在注册之前进行该检查似乎是多余的,因为多次尝试注册不会引发异常或导致任何其他错误。

在客户端进行检查意味着,假设多个 javascript 引用被浏览器缓存(它们可能不是),您仍然有多个标记和每个标记的开销导致一些 javascript 运行。如果您在一个页面上有 20 个控件实例,您可能会遇到严重的问题。

关于asp.net - 如何判断 JavaScript 文件是否已包含在 ASP.NET 页面中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/908425/

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