我有一项业务需求,我需要创建一个SharePoint功能,在所有SharePoint页面中注册JavaScript。
我想出实现它的唯一方法是在激活该功能时在(所有)SharePoint母版页或网站/网站集/ Web应用程序中存在的任何其他自定义母版页中添加脚本。
但我发现编辑母版页以添加Javascript片段是不可行的。
最后我found我可以在“委托控制”中注册我的自定义控件,我创建的自定义用户控件可以在页面中注册我的脚本。
但我的问题是,如果母版页没有委托控件,我该如何处理?
或者是否有其他可能的解决方案在所有SharePoint页面上注册脚本?
答案 0 :(得分:4)
AdditionalPageHead Delegate Control应位于SharePoint 2007中的每个开箱即用的母版页上。请查看this article。它特别关于jQuery,但它涵盖了有关附加脚本的良好实践。
唯一剩下的母版页将是您的所有自定义母版页,我认为您可以访问它们。现在,我们已经排除了直接将脚本添加到母版页(因为这是一个坏主意),所以应该做的是添加代理控制。以下就足够了。
<SharePoint:DelegateControl runat="server" ControlId="AdditionalPageHead" AllowMultipleControls="true" />
在所有开箱即用的母版页中,这是在最后的部分。这将是将它放入自定义母版页的最佳位置。将代理控制包含在母版页中没有任何不利之处,因此最好在创建新母版页时将其包括在内。
答案 1 :(得分:0)
您可以使用免费的SharePoint Infuser工具来实现此目标。
如果您的母版页没有代理控制权,那么add it如果可能的话。
答案 2 :(得分:0)