我刚刚开始学习Sharepoint2013,从开发一个功能开始,例如,它包含一个名为testElement的元素,它应该显示一个按钮作为功能区并运行脚本来启用或禁用此功能区。 元素的XML看起来像这样:
>
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction Id="RibAct" Location="CommandUI.Ribbon">
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition Location="Ribbon.Documents.Copies.Controls._children">
<Button Id="RibButton"
Command="Command"
Sequence="15" />
</CommandUIDefinition>
</CommandUIDefinitions>
<CommandUIHandlers>
<CommandUIHandler
Command="CommHandler"
CommandAction="javascript:javascriptFunction();"
EnabledScript="javascript:enable();"/>
</CommandUIHandlers>
</CommandUIExtension>
</CustomAction>
<CustomAction Id="Ribbon.Library.Actions.Scripts"
Location="ScriptLink"
ScriptSrc="/_layouts/ApplicationPageFolder/Custom.js" />
</Elements>
我的启用功能位于Custom.js中,在部署功能后,我可以在我的站点中激活和停用它,我可以在正确的位置看到功能区,但仍然没有启用它,得到一个错误,尚未找到启用功能。 有人能告诉我,这里出了什么问题吗?
答案 0 :(得分:2)
刚遇到同样的问题,发现这个solution原来的问题:
SharePoint 2013需要指定hive(15)目录,即ScriptSrc =&#34; / _ layouts / 15 /ApplicationPageFolder/Custom.js"。
< / LI>此外,Button和CommandUIHandler should match中的Command值。
修正了XML:
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction Id="RibAct" Location="CommandUI.Ribbon">
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition Location="Ribbon.Documents.Copies.Controls._children">
<Button Id="RibButton"
Command="TheSameValue"
Sequence="15" />
</CommandUIDefinition>
</CommandUIDefinitions>
<CommandUIHandlers>
<CommandUIHandler
Command="TheSameValue"
CommandAction="javascript:javascriptFunction();"
EnabledScript="javascript:enable();"/>
</CommandUIHandlers>
</CommandUIExtension>
</CustomAction>
<CustomAction Id="Ribbon.Library.Actions.Scripts"
Location="ScriptLink"
ScriptSrc="/_layouts/15/ApplicationPageFolder/Custom.js" />
</Elements>