sharepoint

sharepoint的功能强大是公认的,事件触发和基于WSS的扩展都不错,本人是新手,正在研究他的js调用机制,

主要的js文件是在LAYOUTS/2052下的init.js和core.js,大家发现了么,呵呵,先看看core.js文件

这个是验证网页

function PageUrlValidation(url)
{
 if (url.substr(0, 4) !="http" && url.substr(0,1) !="/")
 {
  var L_InvalidPageUrl_Text="无效的网页 URL: ";
  alert(L_InvalidPageUrl_Text);
  return "";
 }
 else
  return url;
}

 

function commonShowModalDialog(url, features, callback, args)
{
 if (document.getElementById("__spPickerHasReturnValue") !=null)
  document.getElementById("__spPickerHasReturnValue").value="";
 if (document.getElementById("__spPickerReturnValueHolder") !=null)
  document.getElementById("__spPickerReturnValueHolder").value="";
 var rv;
 if (window.showModalDialog)
 {
  rv=window.showModalDialog(url, args, features);
  if(callback)
   callback(rv);
 }
 else
 {
  var defaultWidth=500, defaultHeight=550, defaultScrollbars="yes";
  if(!features) features="width="+defaultWidth+",height="+defaultHeight;
  else
  {
   function assocArray() { return new Array(); }
   function assocArray_add(array, key, value)
   {
    array.push(key);
    array[key]=value;
   }
   function assocArray_keys(array)
   {
    var keys=new Array();
    for(var i=0; i<array.length; i++) keys.push(array[i]);
    return keys;
   }
   var feats=assocArray(), fre, split;
   if(features.search(/^(/s*/w+/s*:/s*.+?/s*)(;/s*/s*/w+/s*:/s*.+?/s*)*(;/s*)?$/) !=-1)
   {
    fre=/^/s*(/w+)/s*:/s*(.+?)/s*$/;
    split=features.split(//s*;/s*/);
   }
   else
   {
    fre=/^/s*(/w+)/s*=/s*(.+?)/s*$/;
    split=features.split(//s*,/s*/);
   }
   for(var feat in split)
   {
    var kv=fre.exec(split[feat]);
    if(kv && kv.length==3) assocArray_add(feats, kv[1].toLowerCase(), kv[2]);
   }
   if(!feats["width"]) assocArray_add(feats, "width", feats["dialogwidth"] || defaultWidth);
   if(!feats["height"]) assocArray_add(feats, "height", feats["dialogheight"] || defaultHeight);
   if(!feats["scrollbars"]) assocArray_add(feats, "scrollbars", feats["scroll"] || defaultScrollbars);
   features='';
   var keys=assocArray_keys(feats);
   for(var i in keys)
   {
    if(features) features+=",";
    features+=keys[i]+"="+feats[keys[i]];
   }
  }
  var modalDialog=window.open(url, '_blank', features+',modal=yes,dialog=yes');
  modalDialog.dialogArguments=args;
  window.οnfοcus=function() {
   var bHasReturnValue
=(document.getElementById("__spPickerHasReturnValue") !=null) &&
      (document.getElementById("__spPickerHasReturnValue").value=="1");
   if (modalDialog && !modalDialog.closed && !bHasReturnValue)
   {
    modalDialog.focus();
   }
   else
   {
    window.οnfοcus=null;
    if(callback)
    {
     if (typeof(modalDialog.returnValue) !="undefined")
     {
      rv=modalDialog.returnValue;
      callback(rv);
     }
     else if (document.getElementById("__spPickerHasReturnValue") !=null &&
      document.getElementById("__spPickerHasReturnValue").value=="1" &&
      document.getElementById("__spPickerReturnValueHolder") !=null)
     {
      rv=document.getElementById("__spPickerReturnValueHolder").value;
      callback(rv);
     }
    }
   }
  }
 }
}
function setModalDialogReturnValue(wnd, returnValue)
{
 if (wnd.opener !=null &&
  wnd.opener.document.getElementById('__spPickerHasReturnValue') !=null &&
  wnd.opener.document.getElementById('__spPickerReturnValueHolder') !=null)
 {
  wnd.opener.document.getElementById('__spPickerHasReturnValue').value='1';
  wnd.opener.document.getElementById('__spPickerReturnValueHolder').value=returnValue;
 }
 wnd.returnValue=returnValue;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值