SharePoint 幾個重要且好玩的JS函數 一

來源:互聯網
上載者:User

一:_spBodyOnLoadFunctionNames('functionname')

這個函數的主要作用就是載入指定的JS函數,函數名通過字串傳入。
比如,在某個列表的dispform頁面,有2個關閉按鈕,如果我們希望點擊它們不是進行關閉,而是彈出‘不能關閉’的提示,而該更改不能影響到其它list的話,就可以通過這個函數來實現了。方法如下:
在dispform中加入一個內容編輯組件(如果不能編輯此頁面,可以在地址欄查詢參數加入 &displaymode=design)
然後輸入JS指令碼如下:

 1<script type="text/javascript" language="javascript">
 2function resetCloseButton()
 3{
 4  var btns=document.getElementsByTagName('INPUT');
 5  var count=btns.length;
 6  for(var i=0;i<count;i++)
 7  {
 8    var btn=btns[i];
 9    if(btn.type.toLowerCase()!='button')
10    { continue;}
11    var id=btn.id.toLowerCase();
12    if(id.indexOf('goback')!=-1)
13    {
14      btn.onclick=function(){'不能關閉哦!');
15    }
16  }
17}
18_spBodyOnLoadFunctionNames.push('resetCloseButton');
19</script>

 

其它的可參見:C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\2052下的init.js

 

二  Custom_AddDocLibMenuItems(m, ctx)  | Custom_AddListMenuItems(m, ctx)
這2個函數是用於向文件庫或列表添加自己的下拉式功能表。
原型:
if (typeof(Custom_AddDocLibMenuItems) !="undefined")
 {
  if (Custom_AddDocLibMenuItems(m, ctx))
   return;
 }
從中可以看出,如果Custom_AddDocLibMenuItems返回true的話,那麼頁面上呈現的菜單將完全是自訂的。
如果返回false的話,除了添加您自訂的菜單外,還將呈現SP自己的菜單。
它的參數一 m 表示的是當前的菜單對象,而ctx返回的應該是當前內容物件吧?
例:

<script language="javascript">
function Custom_AddDocLibMenuItems(m, ctx)
{
    var strDisplayText = "Hi!";
    var strAction ="javascript:alert('Hello!')";   

    var strImagePath = "";

    CAMOpt(m, strDisplayText, strAction, strImagePath);
    CAMSep(m);
    return true;
}
</script>
---特別有意思的是,通過這個函數,您添加的菜單還可以是多級的~~~
添加具有子功能表的菜單的函數好像是 CASubM。
具體的函數,可以參見:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\2052下的core.js

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.