编程语言
首页 > 编程语言> > 如何判断JavaScript文件是否已包含在ASP.NET页面中?

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

作者:互联网

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

所以我包括< script src =“file.js”类型“text / javascript”>< / script>在页面上.

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

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

解决方法:

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

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

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

ClientScript.RegisterClientScriptInclude("GlobalUnqiueKey", UrlOfJavascriptFile);

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

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

有一个’IsClientScriptIncludeRegistered(stringkey)’方法,您可以使用该方法查看脚本是否已经包含在该键下但是在注册之前执行该检查似乎非常多余,因为多次尝试注册不会抛出异常或导致任何其他错误.

执行检查客户端意味着,假设浏览器缓存了多个javascript引用(它们可能不是),您仍然有多个标记,每个标记的顶部会导致一些javascript运行.如果您在页面上有20个控件实例,则可能会出现严重问题.

标签:html,script-tag,javascript,asp-net
来源: https://codeday.me/bug/20191006/1860021.html