Usando un archivo JavaScript en Elements.xml
-
10-12-2019 - |
Pregunta
Estoy intentando crear una cinta personalizada y en mi proyecto he creado un archivo JavaScript.
De este y este pregunta, pude descubrir que puedo usar <CustomAction>
etiqueta para importar el archivo JavaScript.
<CustomAction Id="Ribbon.Library.Actions.Scripts"
Location ="ScriptLink" ScriptSrc="/_layouts/MyJSFile.js" />
Ahora mi Elements.xml
Se ve como esto:
<?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>
Cuando cargo mi página en IE en la pestaña Red de las herramientas de desarrollo de IE, puedo ver el error 404 que indica que no puedo encontrar la ruta. /_layouts/customribbonbutton/javascript1.js
.actualicé mi <CustomAction>
etiqueta a esto:
<CustomAction Id="Ribbon.Library.Actions.Scripts" Location="ScriptLink"
ScriptSrc="/_layouts/JavaScript1.js" />
Pero sigo recibiendo el mismo error 404, aunque para una ruta diferente.
¿Qué estoy haciendo mal aquí?
Solución
Debes agregar 15 a _layouts, es decir /_layouts/15
para poder obtener el archivo mientras trabaja en SP 2013.
ACTUALIZAR
Coloque el archivo javascript en la carpeta CustomRibbonButton en su proyecto y utilícelo /_layouts/15/CustomRibbonButton/JavaScript1.js
.La carpeta de colmena para SharePoint 2013 es 15.Solía ser 12 para MOSS y 14 para SP 2010.Esto debe usarse explícitamente ya que SP 2013 también admite soluciones basadas en 2010 y si no menciona 15 en su código, buscará el archivo en 14 hive.
Otros consejos
Agregue lo siguiente entre <CommandUIExtension>
abrir y cerrar etiqueta
<CommandUIHandler
Command="NewRibbonButtonCommand"
CommandAction="javascript:Convertion();"
EnabledScript="javascript:enable();"/>