使用SharePointfunction或物理文件部署jQuery?

我们即将对SharePoint进行相当大的定制,我想在双脚跳入之前获得一些反馈。 我们正在努力解决的问题之一就是我们将jQuery javascript库直接部署到12个配置单元(使其在每个站点的_layouts中可用)或者我们将它包装在一个function中并为每个function激活该function现场? 我还看到CodePlex上的两个项目将它包含在function中,这可能是我猜的第三个选项。

思考?

http://www.sharepointblogs.com上的选项和评论

点击上面的链接或google它。

总结是直接修改12个配置单元很容易但不受支持(即Microsoft保留随意破坏环境的权利)

以上链接的推荐选项是:

使用AdditionalPageHead Delegate Control(我最喜欢的!)

通过提供所有现成主页使用的AdditionalPageHead Delegate Control的内容,您可以确保所有SharePoint页面都加载了jQuery库。 AdditionalPageHead Delegate Control允许多个控件提供内容,因此它是一个很好的可扩展性方案。 为此,您需要构建一个Web用户控件(ASCX文件),其中包含用于加载jQuery库的脚本标记:

<%@ Control Language="VB" ClassName="jQueryControl" %> 

您还可以使用Google AJAX Libraries API。 通过向SharePoint母版页添加一些脚本(例如),您可以从Google下载任何您喜欢的jQuery版本,而无需部署.js文件。

还有许多潜在的速度改进:

  • Google的jQuery .js文件可能已在用户浏览器中缓存(感谢使用此工具的其他网站)
  • 浏览器通常只允许一定数量的连接到同一服务器,因此这允许另一个连接并行打开
  • 该文件是从用户最近的地理位置下载的(我认为)

这是一个越来越受欢迎的解决方案,我听到的只有好消息。 请访问: http : //code.google.com/apis/ajaxlibs/查看。

我会说这取决于你的情况。 如果您只想使jQuery库可用于单个站点,则可以使用function。 如果你想让它全局可用,那么将它部署到12是可行的方法。

我们将其部署到12个配置单元作为我们免费的SharePoint Infuser工具的一部分,您可能需要考虑将JavaScript(包含JQuery)一次性部署到多个页面,而不对masterpages,core.js等进行任何混乱的更改。

在内部,它使用上面Ric提出的委托控制方法,它只是一个更通用的解决方案,可以用于各种目的。

有关详细信息,请参阅http://www.muhimbi.com/blog/2009/07/massage-sharepoint-into-submission.html 。 有关这一点的非常有力的示例,请参阅http://www.muhimbi.com/blog/2009/07/automatically-add-search-as-you-type-to.html

我无法从www.sharepointblogs.com获取代码。 我有更好的运气使用此链接http://blogs.msdn.com/b/kaevans/archive/2011/04/06/adding-jquery-to-every-page-in-sharepoint-with-delegate-controls.aspx