Использование файла JavaScript в Elements.xml
-
10-12-2019 - |
Вопрос
Я пытаюсь создать собственную ленту и в своем проекте создал файл JavaScript.
От этот и этот вопрос, который мне удалось выяснить, что я могу использовать <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();"/>