如果已经有人问了这个问题,我很抱歉,但是我无法在任何地方找到这个问题的答案。
我想在我的asp.net页面上使用jquery,但我应该只注册一个新脚本吗?添加链接?是否有一些特殊的引用我可以添加?
斯科特古(scottgu)指出它已经集成到Visual Studio中,但没有描述如何开始将其添加到页面中?
如果已经有人问了这个问题,我很抱歉,但是我无法在任何地方找到这个问题的答案。
我想在我的asp.net页面上使用jquery,但我应该只注册一个新脚本吗?添加链接?是否有一些特殊的引用我可以添加?
斯科特古(scottgu)指出它已经集成到Visual Studio中,但没有描述如何开始将其添加到页面中?
我不能称之为最佳实践,但有一些注意事项:
首先你可以添加一个链接,如果你将其注册为新脚本,则添加额外的代码而没有必要运行。
放在页面的哪里:jQuery是核心库,因此应将其置于页面顶部,而不是底部,以便我们在DOM准备就绪后加载其他JavaScript函数并使用它们。
要添加哪个版本以及从哪里添加?您可以添加jQuery的最小化版本,并且可以从您的站点加载,也可以从Google加载。这也取决于您是否仅保留jQuery还是将其与其他脚本一起添加到共同文件中。
需要注意的事项:如果您与其他库存在任何冲突,则可以使用jQuery noConflict http://api.jquery.com/jQuery.noConflict/
优化所有脚本:如果您有多个脚本要加载,则一种优化方法是将它们全部放在一起作为单个文件,将其缩小,gzip它,并将其作为链接添加到您的页面中。这是我在遵循了所有先前的步骤后所做的。
我不自称为专家,但根据我的最近研究,这样做是最好的吗?
this.Page.ClientScript.RegisterClientScriptInclude("jQuery", "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.min.js");
但是文档说明:
“调用 IsClientScriptIncludeRegistered 方法来确定是否已经注册具有给定键和类型对的客户端脚本,从而避免不必要地尝试添加脚本。” 它还提到:“检查的好处是减少不必要的计算。” 所以,可能像这样做更好:
if (!this.Page.ClientScript.IsClientScriptIncludeRegistered("jQuery"))
{
this.Page.ClientScript.RegisterClientScriptInclude("jQuery", "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.min.js");
}
这似乎很愚蠢,因为如果我调用
this.Page.ClientScript.RegisterClientScriptInclude("jQuery", "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.min.js");
this.Page.ClientScript.RegisterClientScriptInclude("jQuery", "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.min.js");
它做的事情和我只做一次是一样的。
ScriptRegistration.RegisterJQuery()
你有什么想法? - McKay您可以通过链接脚本将jQuery添加到asp.net中,就像链接其他脚本和样式表一样。[除非我漏掉了什么]
我认为最好的方法是从CDNs引用jQuery文件。
与手动添加脚本标记和在代码后台注册的区别在于您的要求。如果您构建了一些使用jQuery的自定义控件,则最好确保脚本引用将出现在页面中,因此您需要从代码后台进行注册。
如果有一个主页面和一些在所有页面上都使用jQuery的javascript,则将其添加到该主页面中。
如果脚本仅在少数页面中使用,则无需在其他100个页面中加载脚本,因此您只需在这两个或三个页面中添加标记即可。