⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 libcrossbrowser.js

📁 征服AJAX+LUCENE构建搜索引擎的源码
💻 JS
字号:
LCB_version = 2.8;// _mac : true = macintosh, false = other os_mac=navigator.userAgent.indexOf('Mac')!=-1;// _ie512 : true = MSIE 5.12(mac), false = others_ie512=navigator.userAgent.indexOf('MSIE 5.12')!=-1;// _dom : kind of DOM.//        IE4 = 1, IE5+ = 2, NN4 = 3, NN6+ = 4, others = 0_dom = document.all?(document.getElementById?2:1)                   :(document.getElementById?4:(document.layers?3:0));_createLayerNo = 0;                    // layer no.function initCrossBrowserLib(){  _mac=navigator.userAgent.indexOf('Mac')!=-1;  _ie512=navigator.userAgent.indexOf('MSIE 5.12')!=-1;  _dom=document.all?(document.getElementById?2:1)                     :(document.getElementById?4:(document.layers?3:0));  _createLayerNo=0;}initCrossBrowserLib();/* _____________________________________________________________________ */function getWindowWidth (){  if(_dom==4 || _dom==3) return window.innerWidth;  if(_dom==2 || _dom==1) return document.body.clientWidth;  return 0;}function getWindowHeight(){  if(_dom==4 || _dom==3) return window.innerHeight;  if(_dom==2 || _dom==1) return document.body.clientHeight;  return 0;}function getWinXOffset(){  if(_dom==4)            return window.scrollX;  if(_dom==2 || _dom==1) return document.body.scrollLeft;  if(_dom==3)            return window.pageXOffset;  return 0;}function getWinYOffset(){  if(_dom==4)            return window.scrollY;  if(_dom==2 || _dom==1) return document.body.scrollTop;  if(_dom==3)            return window.pageYOffset;  return 0;}function getDivFromName(nm){  if(_dom==4 || _dom==2) return document.getElementById(nm);  if(_dom==1)            return document.all(nm);  if(_dom==3){    var s='';    for(var i=1; i<arguments.length; i++) s+='document.layers.'+arguments[i]+'.';    return eval(s+'document.layers.'+nm);  }  return null;}function getDivName(div){  if(_dom==4 || _dom==2 || _dom==1) return div.id;  if(_dom==3)                       return div.name;  return '';}function createLayer(left,top,width,height,parentDiv){  var s='';  if(arguments.length>5){    for(var i=5; i<arguments.length; i++) s+=arguments[i];  }  if(_dom==4){    var divName= '_js_layer_'+_createLayerNo; _createLayerNo++;    var pDiv   =parentDiv?parentDiv:document.body;    var div    =document.createElement('DIV');    div.id=divName;    div.setAttribute('style',       'position:absolute;left:'+left+';top:'+top      +(width >0?(';width:' +width ):'')      +(height>0?(';height:'+height):'')      +';visibility:hidden');    var range=document.createRange();    range.selectNodeContents(div);    range.collapse(true);    var cf=range.createContextualFragment(s);    div.appendChild(cf);    pDiv.appendChild(div);    return div;  }  if(_dom==2 || _dom==1){    var adj    =(_mac&&!_ie512)?' ':'';    var divName= '_js_layer_'+_createLayerNo; _createLayerNo++;    var ha     =(height>0)?(';height:'+height):'';    var pDiv   =parentDiv?parentDiv:document.body;    pDiv.insertAdjacentHTML('BeforeEnd',       '<div id="'+divName      +'" style="position:absolute;left:'+left+';top:'+top      +(width >0?(';width:' +width ):';width:1')      +(height>0?(';height:'+height):'')      +';visibility:hidden;">'+s+'<\/div>'+adj);    return document.all(divName);  }  if(_dom==3){    var div=parentDiv?(new Layer(width,parentDiv)):(new Layer(width));    if(height>0) div.resizeTo(width,height);    div.moveTo(left,top);    if(s!=''){      div.document.open('text/html','replace');      div.document.write(s);      div.document.close();    }    return div;  }  return null;}function createExLayer(url,left,top,width,height,parentDiv){  if(_dom==4){    var divName= '_js_layer_'+_createLayerNo; _createLayerNo++;    var pDiv   =parentDiv?parentDiv:document.body;    var div    =document.createElement('IFRAME');    div.id=divName;    div.name=divName;    div.setAttribute('style',       'position:absolute;left:'+left+';top:'+top      +';width:'+width+(height>0?(';height:'+height):'')      +';visibility:hidden');    div.setAttribute('src',url);    div.setAttribute('frameborder',0);    div.setAttribute('scrolling','no');    pDiv.appendChild(div);    return div;  }  if(_dom==2 || _dom==1){    var adj=(_mac&&_ie512)?' ':'';    var bd, divName='_js_layer_'+_createLayerNo;    _createLayerNo++;    var ha=(height>0)?(';height:'+height):'';    if(arguments.length>5 && parentDiv)         bd=parentDiv;    else bd=document.body;    bd.insertAdjacentHTML('BeforeEnd',       '<div id="'+divName      +'" style="position:absolute;left:'+left+';top:'+top      +';width:'+width+ha+';visibility:hidden;">'      +'<iframe src="'+url+'" name="'+divName+'_if" '      +'width='+width+' height='+height      +'marginwidth=0 marginheight=0 '      +'scrolling="no" frameborder="no">'      +'<\/iframe>'      +'<\/div>'+adj);    return document.all(divName);  }  if(_dom==3){    var div=parentDiv?(new Layer(width,parentDiv)):(new Layer(width));    if(height>0) div.resizeTo(width,height);    div.moveTo(left,top);    div.load(url,width);    return div;  }  return null;}function getDivImage(div,imgName){  if(_dom==4)            return document.images[imgName];  if(_dom==2 || _dom==1) return document.images(imgName);  if(_dom==3)            return div.document.images[imgName];  return null;}function getDivForm(div,frmName){  if(_dom==4)            return document.forms[frmName];  if(_dom==2 || _dom==1) return document.forms(frmName);  if(_dom==3)            return div.document.forms[frmName];  return null;}function initDivPos(div){  if(_dom==4){    div.style.left=div.offsetLeft+'px';    div.style.top =div.offsetTop +'px';  }  else if(_dom==2 || _dom==1){    div.style.pixelLeft=div.offsetLeft;    div.style.pixelTop =div.offsetTop;  }  return div;}function getDivLeft(div){  if(_dom==4 || _dom==2) return div.offsetLeft;  if(_dom==1)            return div.style.pixelLeft;  if(_dom==3)            return div.left;  return 0;}function getDivTop(div){  if(_dom==4 || _dom==2) return div.offsetTop;  if(_dom==1)            return div.style.pixelTop;  if(_dom==3)            return div.top;  return 0;}function moveDivTo(div,left,top){  if(_dom==4){    div.style.left=left+'px';    div.style.top =top +'px';    return;  }  if(_dom==2 || _dom==1){    div.style.pixelLeft=left;    div.style.pixelTop =top;    return;  }  if(_dom==3){    div.moveTo(left,top);    return;  }}function moveDivBy(div,left,top){  if(_dom==4){    div.style.left=div.offsetLeft+left;    div.style.top =div.offsetTop +top;    return;  }  if(_dom==2){    div.style.pixelLeft=div.offsetLeft+left;    div.style.pixelTop =div.offsetTop +top;    return;  }  if(_dom==1){    div.style.pixelLeft+=left;    div.style.pixelTop +=top;    return;  }  if(_dom==3){    div.moveBy(left,top);    return;  }}function scrollExlHItTo(exdiv,x){  if(_dom==4){    frames[exdiv.id].scrollTo(x,frames[exdiv.id].scrollY);    return;  }  if(_dom==2 || _dom==1){    frames(exdiv.id+'_if').scrollTo(x,frames(exdiv.id+'_if').document.body.scrollTop);    return;  }  if(_dom==3){    var dx=x-exdiv.clip.left, ch=exdiv.clip.width;    exdiv.left-=dx;    exdiv.clip.left=x; exdiv.clip.width=ch;    return;  }  return;}function scrollExlVItTo(exdiv,y){  if(_dom==4){    frames[exdiv.id].scrollTo(frames[exdiv.id].scrollX,y);    return;  }  if(_dom==2 || _dom==1){    frames(exdiv.id+'_if').scrollTo(frames(exdiv.id+'_if').document.body.scrollLeft,y);    return;  }  if(_dom==3){    var dy=y-exdiv.clip.top, ch=exdiv.clip.height;    exdiv.top-=dy;    exdiv.clip.top=y; exdiv.clip.height=ch;    return;  }  return;}function initDivSize(div){  if(_dom==4){    // getComputedStyle is buggy in NN6, and wrong in Mozilla 0.8/9    //    // var style=document.defaultView.getComputedStyle(div,null);    // div.style.width =style.getPropertyValue('width' );    // div.style.height=style.getPropertyValue('height');    //    div.style.width =div.offsetWidth +'px';    div.style.height=div.offsetHeight+'px';    //    // need border-width=0px, margin-width:0px  }  else if(_dom==2 || _dom==1){    div.style.pixelWidth =div.offsetWidth;    div.style.pixelHeight=div.offsetHeight;  }  return div;}function getDivWidth (div){  if(_dom==4 || _dom==2) return div.offsetWidth;  if(_dom==1)            return div.style.pixelWidth;  if(_dom==3)            return div.clip.width;  return 0;}function getDivHeight(div){  if(_dom==4 || _dom==2) return div.offsetHeight;  if(_dom==1)            return div.style.pixelHeight;  if(_dom==3)            return div.clip.height;  return 0;}function resizeDivTo(div,width,height){  if(_dom==4){    div.style.width =width +'px';    div.style.height=height+'px';    return;  }  if(_dom==2 || _dom==1){    div.style.pixelWidth =width;    div.style.pixelHeight=height;    return;  }  if(_dom==3){    div.resizeTo(width,height);    return;  }}function resizeDivBy(div,width,height){  if(_dom==4){    div.style.width =(div.offsetWidth +width )+'px';    div.style.height=(div.offsetHeight+height)+'px';    return;  }  if(_dom==2){    div.style.pixelWidth =div.offsetWidth +width;    div.style.pixelHeight=div.offsetHeight+height;    return;  }  if(_dom==1){    div.style.pixelWidth +=width;    div.style.pixelHeight+=height;    return;  }  if(_dom==3){    div.resizeBy(width,height);    return;  }}function getExlWidth (exdiv){  if(_dom==4)    // NN6 is buggy( same exdiv.offsetWidth )    return exdiv.contentDocument.body.offsetWidth;  if(_dom==2 || _dom==1)    return _mac?frames(exdiv.id+'_if').document.body.offsetWidth               :frames(exdiv.id+'_if').document.body.scrollWidth;  if(_dom==3)    return exdiv.document.width;  return 0;}function getExlHeight(exdiv){  if(_dom==4)    return exdiv.contentDocument.body.offsetHeight;  if(_dom==2 || _dom==1)    return _mac?frames(exdiv.id+'_if').document.body.offsetHeight               :frames(exdiv.id+'_if').document.body.scrollHeight;  if(_dom==3)    return exdiv.document.height;  return 0;}function setDivVisibility(div,visible){  if(_dom==4 || _dom==2 || _dom==1){    div.style.visibility=(visible)?'inherit':'hidden';    return;  }  if(_dom==3){    div.visibility      =(visible)?'inherit':'hide';    return;  }}function setDivVisibilities(divs,visible){  if(_dom==4 || _dom==2 || _dom==1){    for(var i=0; i<divs.length; i++)      divs[i].style.visibility=(visible)?'inherit':'hidden';  }  if(_dom==3){    for(var i=0; i<divs.length; i++)      divs[i].visibility      =(visible)?'inherit':'hide';  }  return divs;}function setDivClip(div,top,right,bottom,left){  if(_dom==4 || _dom==2 || _dom==1){    div.style.clip='rect('+top+'px '+right+'px '+bottom+'px '+left+'px)';    return;  }  if(_dom==3){    div.clip.top   =top;   div.clip.right=right;    div.clip.bottom=bottom;div.clip.left =left;    return;  }}function writeDivHTML(div,op,cl){  var s='';  for(var i=3; i<arguments.length; i++) s+=arguments[i];  if(_dom==4){    if(op){ while(div.hasChildNodes()) div.removeChild(div.lastChild); }    var range=document.createRange();    range.selectNodeContents(div);    range.collapse(true);    var cf=range.createContextualFragment(s);    div.appendChild(cf);    return;  }  if(_dom==2 || _dom==1){    if(op)   div.innerHTML='';    if(_mac&&!_ie512) div.innerHTML+=s;    else     div.insertAdjacentHTML('BeforeEnd',s);    return;  }  if(_dom==3){    if(op) div.document.open('text/html','replace');    div.document.write(s);    if(cl) div.document.close();    return;  }}function setDivBackgroundColor(div,color){  if(color==null) color='transparent';  if(_dom==3) div.bgColor=color;  else        div.style.backgroundColor=color;}function setDivBackgroundImage(div,url){  if(_dom==3) div.background.src=url?url:null;  else        div.style.backgroundImage=url?('url('+url+')'):'none';}function setDivZIndex(div,order){  if(_dom==4 || _dom==2 || _dom==1){    div.style.zIndex=order;    return;  }  if(_dom==3){    div.zIndex      =order;    return;  }}function setDivStyleAttribute(div,nm,value){  if(_dom!=0 && _dom!=3) eval('div.style.'+nm+'=value');  return div;}function changeExlURL(exdiv,url){  if(_dom==4){    exdiv.setAttribute('src',url);    return;  }  if(_dom==2 || _dom==1){    frames(exdiv.id+'_if').location.replace(url);    return;  }  if(_dom==3){    exdiv.load(url,exdiv.clip.width);    return;  }  return;}function getLeftFromEvent(e){  if(_dom==4)          return e.clientX+window.scrollX;  if(_dom==2||_dom==1) return document.body.scrollLeft+window.event.clientX;  if(_dom==3)          return e.pageX;  return 0;}function getTopFromEvent(e){  if(_dom==4)          return e.clientY+window.scrollY;  if(_dom==2||_dom==1) return document.body.scrollTop+window.event.clientY;  if(_dom==3)          return e.pageY;  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -