使用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