📄 libcrossbrowser.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 + -