我正在使用母版页,并且在某些页面中引用了 JQuery,但不是所有页面。我正在添加一些使用客户端 JQuery 的用户控件,因此需要在使用它们的页面中包含对 jQuery 库的引用。
显然有很多方法可以实现这一点,但我想知道以下技术的相对优缺点的想法(或者是否确实存在更好的技术):
将脚本元素(通过创建具有相关属性的 HTMLgenericControl)添加到标题 controlCollection - cons -> 如果页面和一些用户控件都使用 jquery,则可以将指向同一文件的多个脚本元素提供给客户端。这真的是劣势吗?浏览器会尝试下载几个副本吗?
添加一个 masterPage 布尔属性 jQueryLib 并仅在尚未添加脚本元素的情况下添加上述脚本元素。缺点 - 在母版页的情况下,我无法在 ASP 中设置属性,因为我可以使用用户控件。因此所有页面都需要更多的代码隐藏而不是简单的 <%@ Page jQueryLib="true">
如果 jQuery==='undefined',则使用一些相当简单的客户端 javascript 加载 jQuery 并在加载库后运行相关脚本。缺点 - 如果在一个页面上使用多个用户控件,则指向用于执行此操作的 javascript 实用程序函数的脚本标记仍将多次出现在标题中。然而,作为一个优势,这个文件比 jQuery 库小得多。
只需将脚本引用放在母版页中,即使只有以管理员身份登录的用户才需要任何 jquery 功能。
与往常一样 - 非常感谢您的想法,并为我对所有 html 和 asp 的业余知识表示歉意。