Sharepoint 13中的Javascript参考

时间:2014-11-15 16:06:21

标签: javascript element sharepoint-2013

我刚刚开始学习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中,在部署功能后,我可以在我的站点中激活和停用它,我可以在正确的位置看到功能区,但仍然没有启用它,得到一个错误,尚未找到启用功能。 有人能告诉我,这里出了什么问题吗?

1 个答案:

答案 0 :(得分:2)

刚遇到同样的问题,发现这个solution原来的问题:

  1. SharePoint 2013需要指定hive(15)目录,即ScriptSrc =&#34; / _ layouts / 15 /ApplicationPageFolder/Custom.js"。

    < / LI>
  2. 此外,Button和CommandUIHandler should match中的Command值。

  3. 修正了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>