SharePoint 2010/2013 使用Javascript 动态添加Ribbon 按钮

SharePoint 2010/2013 使用Javascript 动态添加Ribbon 按钮

http://blog.csdn.net/abrahamcheng/article/details/17438543

 

原创 2013年12月20日 11:50:23

本文讲述如和在SharePoint 210/2013中使用JavaScript 动态添加Ribbon 按钮。

 

效果如上,废话少说,直接上代码:

 

[javascript] view plain copy
 
  1. <script type="text/javascript">  
  2.         window.attachEvent("onload", CreateTab);  
  3.         function CreateTab() {  
  4.             SelectRibbonTab('Ribbon.Read', true);  
  5.             setTimeout(createMyTab, 1000);  
  6.         }  
  7.   
  8.         function createMyTab() {  
  9.             var ribbon = SP.Ribbon.PageManager.get_instance().get_ribbon();  
  10.             if (ribbon !== null) {  
  11.                 var tab = new CUI.Tab(ribbon, 'Sample.Tab', 'Sample', 'Tab description', 'Sample.Tab.Command', false, '', null, null);  
  12.                 ribbon.addChild(tab);  
  13.                 var group = new CUI.Group(ribbon, 'Sample.Tab.Group', 'Sample Group', 'Group Description', 'Sample.Group.Command', null);  
  14.                 tab.addChild(group);  
  15.                 var layout = new CUI.Layout(ribbon, 'Sample.Layout', 'The Layout');  
  16.                 group.addChild(layout);  
  17.                 var section = new CUI.Section(ribbon, 'Sample.Section', 2, 'Top'); //2==OneRow  
  18.                 layout.addChild(section);  
  19.                 var controlProperties = new CUI.ControlProperties();  
  20.                 controlProperties.TemplateAlias = 'o1';  
  21.                 controlProperties.ToolTipDescription = 'Use this button';  
  22.                 controlProperties.Image32by32 = '_layouts/15/images/placeholder32x32.png';  
  23.                 controlProperties.ToolTipTitle = 'A Button';  
  24.                 controlProperties.LabelText = 'Something';  
  25.                 var button = new CUI.Controls.Button(ribbon, 'Sample.Button', controlProperties);  
  26.                 var controlComponent = button.createComponentForDisplayMode('Large');  
  27.                 var row1 = section.getRow(1);  
  28.                 row1.addChild(controlComponent);  
  29.                 group.selectLayout('The Layout');  
  30.             }  
  31.         }  
  32.   
  33.         function SelectTab(e) {  
  34.             setTimeout(function () { SelectRibbonTab('Sample.Tab', true); }, 1000);  
  35.             setTimeout(OverWriteEvents, 1500);  
  36.         }  
  37.   
  38.         function OverWriteEvents() {  
  39.             var sampleButton = document.getElementById("Sample.Button-Large");  
  40.             sampleButton.classList.remove('ms-cui-disabled');  
  41.             sampleButton.onclick = function () { alert("Clicked Sample.Button"); };  
  42.         }  
  43.   
  44.  </script>  

触发事件的link 

 

 

[html] view plain copy
 
  1. <onclick="SelectTab(); return false;">add ribbon by JS</a>     


 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。
 
 
 
posted @ 2017-11-09 17:33  sky20080101  阅读(159)  评论(0)    收藏  举报