脚本吧 - 幻宇工作室用到js,超强推荐base.js


Posted in Javascript onDecember 23, 2006

base.js

browser_init() 
function browser_init(){ 
    window.isIE=navigator.appName.indexOf("Microsoft")==0 
    window.$sys={} 
    window.$my={} 
    String.prototype.trim=function(){return this.replace(/(^[\s]*)|([\s]*$)/g,"")} 
    String.prototype.inc=function(s1,s2){if(s2==null){s2=","};return (s2+this+s2).indexOf(s2+s1+s2)>-1?1:0} 
    String.prototype.lenB=function(){return this.replace(/[^\x00-\xff]/g,"**").length} 
    String.prototype.leftB=function(len,isOmit){var s;s=this.replace(/\*/g," ").replace(/[^\x00-\xff]/g,"**");if(s.length>len&&isOmit){len-=3};return this.slice(0,s.slice(0,len).replace(/\*\*/g," ").replace(/\*/g,"").length)+(s.length>len&&isOmit?"...":"")} 
    String.prototype.getVar=function(str,def){if(this.inc(str,";"))return 1;var a=this.match(new RegExp("(^|;)"+str+":[^;]*"));return a==null||str==""?(def==null?"":def):a[0].replace(";","").slice(str.length+1)} 
    String.prototype._slice="".slice 
    String.prototype.slice=function(n1,n2){var v,b1=typeof(n1)=="number",b2=typeof(n2)=="number";if(!b1||typeof(n2)=="string"){v=eval("this._slice("+(b1?n1:this.indexOf(n1)+(n2==null?1:0)+(this.indexOf(n1)==-1?this.length:0))+(n2==null?"":(b2?n2:(this.indexOf(n2)==-1?"":","+this.indexOf(n2))))+")")}else{v=eval("this._slice(n1"+(n2==null?"":","+n2)+")")}return v} 
    Array.prototype.parseInt=function(){var i,count=this.length;for(i=0;i<count;i++){this[i]=parseInt(this[i])}} 
    Array.prototype.remove=function(item){var i,count=this.length;for(i=0;i<count;i++){if(this[i]==item){this.splice(i,1);i--;count--}}} 
    Array.prototype.plus=function(item){for(var i=0;i<this.length;i++){if(this[i]==item){return}}this.push(item)} 
    window.$=function(obj){return typeof(obj)=="string"?document.getElementById(obj):obj} 
    window.ow=function(win){return $(win).contentWindow} 
    window.oDel=function(obj){if($(obj)!=null){$(obj).parentNode.removeChild($(obj))}} 
    window.oHide=function(obj){if($(obj)!=null){$(obj).style.visibility="hidden"}} 
    window.oShow=function(obj){if($(obj)!=null){$(obj).style.visibility=""}} 
    window.oFocu=function(obj){window.tempObj=$(obj);window.setTimeout("try{window.tempObj.focus()}catch(e){}",10)} 
    window.fmCheck=function(){return true}     $sys.url=location.href 
    $sys.path=$sys.url.slice(0,"?").slice(0,$sys.url.lastIndexOf("/")+1) 
    document.write("<body></body>") 
    if(document.all){ 
        document.execCommand("BackgroundImageCache",false,true) 
    } 
    else{ 
        HTMLElement.prototype.attachEvent=function(type,foo){this.addEventListener(type.slice(2),foo,false)} 
        HTMLElement.prototype.contains=function(node){if(!node)return false;do if(node==this){return true}while(node=node.parentNode){return false}} 
        HTMLElement.prototype.__defineSetter__("outerHTML",function(sHTML){var r=this.ownerDocument.createRange();r.setStartBefore(this);var df=r.createContextualFragment(sHTML);this.parentNode.replaceChild(df,this);return sHTML;}) 
        HTMLElement.prototype.__defineGetter__("innerText",function(){var r = this.ownerDocument.createRange();r.selectNodeContents(this);return r.toString()}) 
        Event.prototype.__defineGetter__("srcElement",function(){var node=this.target;while(node.nodeType!=1){node=node.parentNode}return node}) 
        Event.prototype.__defineGetter__("fromElement",function(){return this.relatedTarget}) 
        Event.prototype.__defineGetter__("toElement",function(){return this.relatedTarget}) 
        Event.prototype.__defineGetter__("offsetX",function(){return this.layerX}) 
        Event.prototype.__defineGetter__("offsetY",function(){return this.layerY}) 
    } 
    drag_init() 
    thd_init() 
    document_onload() 
} 
function document_onload(){ 
    var l 
    l="<div id=mcSystem style='position:absolute;left:-9000px;top:0'>" 
    l+="<iframe id=wForm name=wForm onload=fmWinOnLoad(this)></iframe>" 
    l+="<button id=btSysFocu></button>" 
    l+="</div>" 
    insHtm(document.body,l) 
    document.body.onmouseover=document.body.onmouseout=document.body.onmousedown=document.body.onmouseup=function(e){ 
        var ee 
        e=e||event 
        ee=e.srcElement 
        if(e.type=="mouseover"&&(ee.tagName=="A"||ee.tagName=="INPUT"||ee.tagName=="LABEL")&&!ee.hideFocus) 
            ee.hideFocus=true 
    } 
    document.body.onkeydown=function(e){ 
        var ee 
        e=e||event 
        ee=e.srcElement 
        if(ee.tagName=="INPUT"&&e.keyCode==13&&isIE&&ee.form!=null){ 
            if(ee.form.btSubmit!=null) 
                ee.form.btSubmit.click() 
        } 
    } 
    if(window.body_onload!=null) 
        body_onload() 
} 
function drag_init(){ 
    window.$drag={} 
    window.startDrag=function(obj,e){ 
        $drag.obj=$(obj) 
        $drag.x0=$drag.obj.offsetLeft 
        $drag.y0=$drag.obj.offsetTop 
        $drag.sx=e.clientX 
        $drag.sy=e.clientY 
        if(document.all) 
            $drag.obj.setCapture() 
    } 
    document.onmouseup=function(){ 
        if($drag.obj==null) 
            return 
        if(document.all) 
            $drag.obj.releaseCapture() 
        $drag.obj=null 
    } 
    document.onmousemove=function(e){ 
        var x,y 
        if($drag.obj==null) 
            return 
        e=e||event 
        x=Math.min(e.clientX-$drag.sx+$drag.x0,document.body.scrollLeft+document.body.clientWidth-$drag.obj.offsetWidth) 
        y=Math.min(e.clientY-$drag.sy+$drag.y0,document.body.scrollTop+document.body.clientHeight-$drag.obj.offsetHeight) 
        x=Math.max(x,0) 
        y=Math.max(y,document.body.scrollTop) 
        $drag.obj.style.left=x+"px" 
        $drag.obj.style.top=y+"px" 
    } 
} 
function thd_init(){ 
    window.$thd={} 
    $thd.items=[] 
    $thd.index=0 
    $thd.push=function(foo,interval){ 
        foo.interval=interval==null?1:interval 
        $thd.items.push(foo) 
    } 
    $thd.remove=function(foo){ 
        $thd.items.remove(foo) 
    } 
    $thd.run=function(){ 
        var ol=$thd.items,i 
        for(i=0;i<ol.length;i++){ 
            if($thd.index%ol[i].interval==0||ol[i].start==null){ 
                ol[i].start=1 
                ol[i]() 
            } 
        } 
        $thd.index++ 
        window.setTimeout("$thd.run()",10) 
    } 
    $thd.run() 
} 
function $x(obj,op){ 
    var o,x=0 
    op=op||document.body 
    do{ 
        o=o==null?$(obj):o.parentNode 
        if(op==o) 
            break 
        x+=o.offsetLeft 
    }while(op.contains(o)) 
    return x 
} 
function $y(obj,op){ 
    var o,y=0 
    op=op||document.body 
    do{ 
        o=o==null?$(obj):o.parentNode 
        if(op==o) 
            break 
        if(o.tagName=="TR") 
            continue 
        y+=o.offsetTop-o.scrollTop 
    }while(op.contains(o)) 
    return y 
} 
function getPngBg(url){ 
    return document.all&&/\.png/i.test(url)?"filter:progid:dximagetransform.microsoft.alphaimageloader(src="+url+",sizingMethod=scale)":"background:url("+url+")" 
} 
function setHtm(op,str){ 
    op=$(op) 
    if(op.tagName=="TABLE"){ 
        if(op.tBodies.length==0) 
            op.appendChild(document.createElement("tbody")) 
        op.replaceChild(document.createElement("tbody"),op.tBodies[0]) 
    } 
    else 
        op.innerHTML="" 
    insHtm(op,str) 
} 
function insHtm(op,str,oRefer){ 
    var bx=document.createElement("div"),ol,i 
    op=$(op) 
    if(op.tagName=="TABLE"){ 
        bx.innerHTML="<table>"+str+"</table>" 
        ol=bx.childNodes[0].tBodies[0].rows 
        if(op.tBodies.length==0) 
            op.appendChild(document.createElement("tbody")) 
        while(ol.length>0){ 
            op.tBodies[0].insertBefore(ol[0],oRefer==null?null:oRefer) 
        } 
    } 
    else{ 
        op.insertBefore(bx,oRefer==null?null:oRefer) 
        bx.outerHTML=str 
    } 
    btBinding(op) 
    fmBinding(op) 
} 
function btBinding(op){ 
    var ol,i,a,bg 
    ol=(op||document.body).getElementsByTagName("SPAN") 
    for(i=0;i<ol.length;i++){ 
        if(ol[i].getAttribute("type")!="button"||ol[i].getAttribute("bg")==null) 
            continue 
        bg=ol[i].getAttribute("bg") 
        ol[i].removeAttribute("bg") 
        a=ol[i].getAttribute("pos").split(",") 
        ol[i].style.cssText="position:absolute;overflow:hidden;left:"+a[0]+";top:"+a[1]+";width:"+a[2]+";height:"+a[3] 
        ol[i].innerHTML="<img src='"+bg+"'><button style=position:absolute;left:-9000;top:0></button>" 
        ol[i].onmouseover=function(){this.scrollTop=this.offsetHeight} 
        ol[i].onmouseout=function(){this.scrollTop=0} 
        ol[i].onmousedown=function(){this.scrollTop=this.offsetHeight*2} 
        ol[i].onmouseup=function(){this.scrollTop=this.offsetHeight} 
    } 
} 
function fmBinding(op){ 
    var ol,i,sResult,foo 
    ol=(op||document.body).getElementsByTagName("FORM") 
    for(i=0;i<ol.length;i++){ 
        if(ol[i].onsubmit!=null) 
            continue 
        insHtm(ol[i],"<input name=btSubmit type=submit style=visibility:hidden>",ol[i].firstChild) 
        ol[i].onkeydown=function(e){ 
            e=e||event 
            if(e.keyCode==13) 
                return false 
        } 
        ol[i].onsubmit=function(e){ 
            var fm=this 
            if(!fmCheck(fm)) 
                return false 
            sResult=1 
            try{ 
                foo=fm.getAttribute("onbeforeload") 
                if(typeof(foo)=="function") 
                    sResult=foo() 
                else if(typeof(foo)=="string") 
                    eval(foo.replace(/return /,"sResult=")) 
            }catch(e){alert(e.description)} 
            if(sResult==false) 
                return false 
            if(fm.method=="post"){ 
                fm.target="wForm" 
                $sys.fmWinType=fm 
                return true 
            } 
            loadXml(fmv(fm),function(xml){ 
                var foo=fm.getAttribute("onload") 
                if(typeof(foo)=="function") 
                    foo(xml) 
                else if(typeof(foo)=="string") 
                    eval(foo) 
            }) 
            return false 
        } 
    } 
} 
function fmWinOnLoad(win){ 
    var xml,str,foo,error 
    if(document.all){ 
        str=win.contentWindow.document.body.innerText.replace(/\n[\s]*\-/g,"\n") 
        if(str=="") 
            return 
        if(!/\<[^\>]+/.test(str)){ 
            alert(str) 
            return         
        } 
        str=str.slice(1) 
        xml=createXml(str) 
    } 
    else{ 
        if((win.contentWindow.document+"").indexOf("XML")==-1) 
            return 
        xml=win.contentWindow.document.documentElement 
    } 
    error=ndv(xml,"error") 
    if(error!=null) 
        return alert(error) 
    foo=$sys.fmWinType.onload 
    if(typeof(foo)=="function") 
        foo(xml) 
    else if(typeof(foo)=="string") 
        eval(foo) 
} 
function fmv(fm){ 
    var i,f,v,l 
    l=fm.action 
    for(i=0;i<fm.length;i++){ 
        if(!"INPUT,TEXTAREA,SELECT".inc(fm[i].tagName)||"submit,button".inc(fm[i].type)) 
            continue 
        v=fm[i].value.trim() 
        f=fm[i].getAttribute("postName")||fm[i].name 
        if(f==""||(fm[i].type=="radio"&&!fm[i].checked)||fm[i].readOnly==true) 
            continue 
        if(fm[i].type=="checkbox") 
            v=fm[i].checked?v.replace(/^on$/g,1):0 
        l+="&"+f+"="+escape(v) 
    } 
    if(l.indexOf("?")==-1) 
        l=l.replace("&","?") 
    return l 
} 
function createXml(str){ 
    if(isIE){ 
        var xml=new ActiveXObject("Microsoft.XMLDOM") 
            xml.loadXML(str) 
        xml.setProperty("SelectionLanguage","XPath") 
    } 
    else 
        var xml=new DOMParser().parseFromString(str,"text/xml") 
    return xml.documentElement 
} 
function getXmlNode(node,expr,isAll){ 
    var ol 
    if(isIE) 
        ol=node.selectNodes(expr) 
    else{ 
        var xpe=new XPathEvaluator(),nsr,res,ol=[],r 
        nsr=xpe.createNSResolver(node.ownerDocument==null?node.documentElement:node.ownerDocument.documentElement) 
        res=xpe.evaluate(expr,node,nsr,0,null) 
        while(r=res.iterateNext()){ 
            r.text=r.textContent 
            ol.push(r) 
        } 
    } 
    return isAll?ol:ol[0] 
} 
function ndv(node,expr,def){ 
    var ol,s,$0,r 
    if(expr.indexOf("@")==0) 
        return node.getAttribute(expr.slice(1))||def 
    ol=getXmlNode(node,unescape(expr.slice(0,"?"))) 
    if(ol==null) 
        return 
    if(ol.length==0) 
        return def 
    r=$0=ol.length==0?def:unescape(ol.text) 
    return r 
} 
function loadXml(url,foo){ 
    var xh,method,ondataok 
    xh=isIE?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest() 
    method=url.indexOf(".xml")?"GET":"POST" 
    xh.open(method,url,true) 
    xh.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") 
    xh.send(method=="POST"?url.slice("?"):null) 
    ondataok=function(){ 
        var xml=xh.responseXML,error 
        if(xml!=null) 
            xml=xh.responseXML.documentElement 
        if(xml==null){ 
            window.clipboardData.setData("text",$sys.path+url) 
            alert("载入xml数据出错!") 
            return 
        } 
        error=ndv(xml,"error") 
        if(error!=null){ 
            alert(error) 
            return 
        } 
        foo(xml) 
    } 
    if(xh.readyState==4) 
        ondataok() 
       xh.onreadystatechange=function(){ 
        if(xh.readyState==4) 
            ondataok() 
    } 
}
Javascript 相关文章推荐
javascript 静态对象和构造函数的使用和公私问题
Mar 02 Javascript
Jquery中显示隐藏的实现代码分析
Jul 26 Javascript
鼠标滚轮改变图片大小的示例代码
Nov 20 Javascript
js实现日期级联效果
Jan 23 Javascript
如何在MVC应用程序中使用Jquery
Nov 17 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
Mar 22 Javascript
微信小程序 loading 详解及实例代码
Nov 09 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
Sep 28 Javascript
玩转vue的slot内容分发
Sep 22 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
Jun 04 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
Oct 12 Javascript
详细介绍Next.js脚手架完整搭建封装
Apr 26 Javascript
实现复选框全选/全不选切换
Dec 23 #Javascript
Javascript实例教程(19) 使用HoTMetal(7)
Dec 23 #Javascript
Javascript实例教程(19) 使用HoTMetal(6)
Dec 23 #Javascript
Javascript实例教程(19) 使用HoTMetal(5)
Dec 23 #Javascript
Javascript实例教程(19) 使用HoTMetal(4)
Dec 23 #Javascript
Javascript实例教程(19) 使用HoTMetal(3)
Dec 23 #Javascript
Javascript实例教程(19) 使用HoTMetal(2)
Dec 23 #Javascript
You might like
各种战术和打法的原创者
2020/03/04 星际争霸
php简单静态页生成过程
2008/03/27 PHP
php将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
2014/06/26 PHP
为jQuery增加join方法的实现代码
2010/11/28 Javascript
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
jquery 定位input元素的几种方法小结
2013/07/28 Javascript
jquery eval解析JSON中的注意点介绍
2013/08/23 Javascript
JavaScript调用客户端Java程序的方法
2015/07/27 Javascript
轻松掌握JavaScript中的Math object数学对象
2016/05/26 Javascript
Bootstrap源码解读网格系统(3)
2016/12/22 Javascript
js设置文字颜色的方法示例
2016/12/30 Javascript
微信小程序商城项目之淘宝分类入口(2)
2017/04/17 Javascript
微信小程序实战之自定义toast(6)
2017/04/18 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
js实现图片推拉门效果代码实例
2019/05/18 Javascript
js贪心算法 钱币找零问题代码实例
2019/09/11 Javascript
原生JS实现贪吃蛇小游戏
2020/03/09 Javascript
[00:44]2016完美“圣”典 风云人物:Mikasa宣传片
2016/12/07 DOTA
[00:58]PWL开团时刻DAY5——十人开雾0换5
2020/11/04 DOTA
python 生成器生成杨辉三角的方法(必看)
2017/04/10 Python
pandas数据预处理之dataframe的groupby操作方法
2018/04/13 Python
Python 中Django安装和使用教程详解
2019/07/03 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
2019/10/24 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
Django model重写save方法及update踩坑详解
2020/07/27 Python
python爬虫中抓取指数的实例讲解
2020/12/01 Python
美国高端寝具品牌:Coyuchi
2017/02/08 全球购物
美国Randolph太阳镜官网:美国制造的飞行员太阳镜和射击眼镜
2018/06/15 全球购物
西班牙在线光学:Visual-Click
2020/06/22 全球购物
材料采购员岗位职责
2013/12/17 职场文书
收银员的岗位职责范本
2014/02/04 职场文书
超市国庆节促销方案
2014/02/20 职场文书
要账委托书范本
2014/09/15 职场文书
写给媳妇的检讨书
2015/05/06 职场文书
python 管理系统实现mysql交互的示例代码
2021/12/06 Python