Вопрос

Я пытаюсь создать собственную ленту и в своем проекте создал файл JavaScript.

enter image description here

От этот и этот вопрос, который мне удалось выяснить, что я могу использовать <CustomAction> тег для импорта файла JavaScript.

<CustomAction Id="Ribbon.Library.Actions.Scripts"
 Location ="ScriptLink" ScriptSrc="/_layouts/MyJSFile.js" />

Теперь мой Elements.xml выглядит так:

<?xml version="1.0" encoding="utf-8"?>

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <CustomAction Id="Ribbon.Library.Actions.Scripts" Location="ScriptLink"
                ScriptSrc="/_layouts/CustomRibbonButton/JavaScript1.js" />

    <CustomAction
    Id="Ribbon.Library.Actions.AddAButton"
    Location="CommandUI.Ribbon"
    RegistrationId="101" RegistrationType="List"
    Title="Add a Ribbon Button">
        <CommandUIExtension>
            <CommandUIDefinitions>
                <CommandUIDefinition
          Location="Ribbon.Library.Share.Controls._children">
                    <Button Id="Ribbon.Library.Share.NewRibbonButton"
            Command="NewRibbonButtonCommand"
                    Image16by16="_layouts/15/images/placeholder16x16.png"
                    Image32by32="_layouts/15/images/placeholder32x32.png"
                                    LabelText="Hello World"
            TemplateAlias="o2" />
                </CommandUIDefinition>
            </CommandUIDefinitions>
            <CommandUIHandlers>
                <CommandUIHandler
          Command="NewRibbonButtonCommand" 
          CommandAction="javascript:getFiles()" />
            </CommandUIHandlers>
        </CommandUIExtension>
    </CustomAction>
</Elements>

Когда я загружаю свою страницу в IE на вкладке «Сеть» инструментов разработчика IE, я вижу ошибку 404, что он не может найти путь. /_layouts/customribbonbutton/javascript1.js.я обновил свой <CustomAction> тег к этому:

<CustomAction Id="Ribbon.Library.Actions.Scripts" Location="ScriptLink"
                ScriptSrc="/_layouts/JavaScript1.js" />

Но я все равно получаю ту же ошибку 404, хотя и по другому пути.

Что я здесь делаю не так?

Это было полезно?

Решение

Вам нужно добавить 15 к _layouts, т.е. /_layouts/15 чтобы получить доступ к файлу во время работы над SP 2013.

ОБНОВЛЯТЬ

Поместите файл javascript в папку CustomRibbonButton вашего проекта и используйте /_layouts/15/CustomRibbonButton/JavaScript1.js.Папка куста для SharePoint 2013 — 15.Раньше для MOSS было 12, а для SP 2010 — 14.Это необходимо использовать явно, поскольку SP 2013 также поддерживает решения, основанные на 2010, и если вы не укажете 15 в своем коде, он будет искать файл в улье 14.

Другие советы

Добавьте следующее между <CommandUIExtension> открыть и закрыть тег

<CommandUIHandler
                    Command="NewRibbonButtonCommand"
                    CommandAction="javascript:Convertion();"
                    EnabledScript="javascript:enable();"/>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top