我们即将对SharePoint进行相当大的自定义,我想在双脚跳入之前获得一些反馈。我们正在努力解决的问题之一就是我们将jQuery javascript库直接部署到12个hive(使其在每个站点的_layouts中可用)或者我们将其包装在一个功能中并为每个功能激活该功能现场?我还看到CodePlex上的两个项目将它包含在功能中,这可能是我想的第三个选项。
思想?
答案 0 :(得分:13)
点击上面的链接或谷歌。
总结是直接修改12个配置单元很容易但不受支持(即Microsoft保留随意破坏环境的权利)
上面链接的推荐选项是:
使用AdditionalPageHead Delegate Control(我最喜欢的!)
通过提供所有开箱即用的母版页使用的AdditionalPageHead Delegate Control的内容,您可以确保所有SharePoint页面都加载了jQuery库。 AdditionalPageHead Delegate Control允许多个控件提供内容,因此它是一个很好的可扩展性方案。为此,您需要构建一个Web用户控件(ASCX文件),其中包含用于加载jQuery库的脚本标记:
<%@ Control Language="VB" ClassName="jQueryControl" %>
答案 1 :(得分:6)
您还可以使用Google AJAX Libraries API。通过向SharePoint母版页添加一些脚本(例如),您可以从Google下载任何您喜欢的jQuery版本,而无需部署.js文件。
还有许多潜在的速度提升:
这是一个越来越受欢迎的解决方案,我听到的只有好消息。请查看:http://code.google.com/apis/ajaxlibs/。
答案 2 :(得分:1)
我会说这取决于你的情况。如果您只想使jQuery库可用于单个站点,则可以使用功能。如果你想让它全局可用,那么将它部署到12是可行的方法。
答案 3 :(得分:1)
我们将其部署到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
答案 4 :(得分:1)
我无法从www.sharepointblogs.com获取代码。我更幸运使用此链接http://blogs.msdn.com/b/kaevans/archive/2011/04/06/adding-jquery-to-every-page-in-sharepoint-with-delegate-controls.aspx