SharePoint【Ribbon系列】-- 09.如何让用户定义的Ribbon引用外部Javascript文件
2013-02-20 20:14
561 查看
在使用Sharepoint2010的Ribboon编程的领域内,我们必然要遇到如何编写Ribbon内控件的Javascript代码。
下面是Ribbon定义的一段常见代码:
<CommandUIHandlers>
<CommandUIHandler Command=”Ribbon.MyTab.MyGroup.Button_CMD” CommandAction=”javascript:alert('RibbonJs Invoke!');' />
</CommandUIHandlers>
这段代码中的CommandAction中定义了此Ribbon控件将要执行的Javascript功能。问题是,在实际应用中,我们的Javascript远不只一个alert函数这么简单,而我们又不可能在这个Ribbon的定义中嵌入非常复杂的大量Javascript代码,我们需要做的应该像下面的代码定义段一样:
<CommandUIHandlers>
<CommandUIHandler Command=”Ribbon.MyTab.MyGroup.Button_CMD” CommandAction=”javascript:RibbonButtonHandler();” />
</CommandUIHandlers>
在CommandAction中潜入一个Javascript的Function,这个Funcation是在一个外部Javascript文件中定义的。所以接下来的问题是,如何让Ribbon的定义段知道它该使用哪一个外部Javascript文件引用?
好在Sharepoint中提供了这样一个途径,我们只需要加入下面的代码就能解决这个问题。
<CustomAction Id=”Ribbon.Library.Actions.Scripts”
Location ="ScriptLink" ScriptSrc="/_layouts/SharePointProject1/RibbonActions.js" />
此代码的ScriptSrc指明了外部需要引用的Javascript文件位置以及文件名,当然我们需要在/_layouts/SharepointProjects1/目录下创建这个名为RibbonActions.js的javascript代码文件。
所以相对完整的代码应该如下 :
<CommandUIHandlers>
<CommandUIHandler Command=”Ribbon.MyTab.MyGroup.Button_CMD” CommandAction=”javascript:RibbonButtonHandler();” />
</CommandUIHandlers>
<Elements xmlns=”http://schemas.microsoft.com/sharepoint/”>
<CustomAction
Id=”Ribbon.MyTab”
Title=”Ribbon Sample”
RegistrationType=”List”
RegistrationId=”100″
Location=”CommandUI.Ribbon.ListView”>
<CommandUIExtension>
<CommandUIDefinitions>…</CommandUIDefinitions>
<CommandUIHandlers>
<CommandUIHandler Command=”Ribbon.MyTab.MyGroup.Button_CMD” CommandAction=”javascript:RibbonButtonHandler();” />
</CommandUIHandlers>
</CommandUIExtension>
</CustomAction>
<CustomAction Id=”Ribbon.Library.Actions.Scripts”
Location =”ScriptLink”
ScriptSrc=”/_layouts/SharePointProject1/RibbonActions.js” />
</Elements>
转载:/article/4844653.html
下面是Ribbon定义的一段常见代码:
<CommandUIHandlers>
<CommandUIHandler Command=”Ribbon.MyTab.MyGroup.Button_CMD” CommandAction=”javascript:alert('RibbonJs Invoke!');' />
</CommandUIHandlers>
这段代码中的CommandAction中定义了此Ribbon控件将要执行的Javascript功能。问题是,在实际应用中,我们的Javascript远不只一个alert函数这么简单,而我们又不可能在这个Ribbon的定义中嵌入非常复杂的大量Javascript代码,我们需要做的应该像下面的代码定义段一样:
<CommandUIHandlers>
<CommandUIHandler Command=”Ribbon.MyTab.MyGroup.Button_CMD” CommandAction=”javascript:RibbonButtonHandler();” />
</CommandUIHandlers>
在CommandAction中潜入一个Javascript的Function,这个Funcation是在一个外部Javascript文件中定义的。所以接下来的问题是,如何让Ribbon的定义段知道它该使用哪一个外部Javascript文件引用?
好在Sharepoint中提供了这样一个途径,我们只需要加入下面的代码就能解决这个问题。
<CustomAction Id=”Ribbon.Library.Actions.Scripts”
Location ="ScriptLink" ScriptSrc="/_layouts/SharePointProject1/RibbonActions.js" />
此代码的ScriptSrc指明了外部需要引用的Javascript文件位置以及文件名,当然我们需要在/_layouts/SharepointProjects1/目录下创建这个名为RibbonActions.js的javascript代码文件。
所以相对完整的代码应该如下 :
<CommandUIHandlers>
<CommandUIHandler Command=”Ribbon.MyTab.MyGroup.Button_CMD” CommandAction=”javascript:RibbonButtonHandler();” />
</CommandUIHandlers>
<Elements xmlns=”http://schemas.microsoft.com/sharepoint/”>
<CustomAction
Id=”Ribbon.MyTab”
Title=”Ribbon Sample”
RegistrationType=”List”
RegistrationId=”100″
Location=”CommandUI.Ribbon.ListView”>
<CommandUIExtension>
<CommandUIDefinitions>…</CommandUIDefinitions>
<CommandUIHandlers>
<CommandUIHandler Command=”Ribbon.MyTab.MyGroup.Button_CMD” CommandAction=”javascript:RibbonButtonHandler();” />
</CommandUIHandlers>
</CommandUIExtension>
</CustomAction>
<CustomAction Id=”Ribbon.Library.Actions.Scripts”
Location =”ScriptLink”
ScriptSrc=”/_layouts/SharePointProject1/RibbonActions.js” />
</Elements>
转载:/article/4844653.html
相关文章推荐
- Sharepoint学习笔记—Ribbon系列-- 9.如何让用户定义的Ribbon引用外部Javascript文件
- 如何动态加载外部Javascript文件
- 如何给JavaScript外部文件传递参数
- 在xml中如何引用自己定义的schema文件?
- 如何在xaml文件中操作用户在后台代码定义的类(2)
- Js_引用外部JavaScript文件
- Visual Studio如何引用外部XSD文件到XML
- 用DllImport引用的外部DLL文件如何通过clickonce发布
- JavaScript中引用外部CSS文件
- WPF自学教程系列2:如何在xaml文件添加引用?
- SharePoint 2010 UI 定制化系列之定制Ribbon UI操作: 如何使用SharePoint Designer 2010定制Ribbon UI操作
- xsl 文件如何定义 Javascript 函数并且调用
- SilverLight学习笔记--如何在xaml文件中操作用户在后台代码定义的类(1)--说明篇(原创)(转载本文请注明出处)
- 有用的javascript外部文件或其他外部文件引用
- JavaScript如何定义一个自己的可复用的JS文件!
- 有用的javascript外部文件或其他外部文件引用
- SilverLight学习笔记--如何在xaml文件中操作用户在后台代码定义的类(2)--示例篇:创建一个登录控件(原创)(转载本文请注明出处)
- 外部引用JavaScript文件乱码问题
- 如何引用一个已经定义过的全局变量 与 全局变量可不可以定义在可被多个.C文件包含的头文件中
- 如何动态引入外部Javascript文件