当前位置 博文首页 > code collection v0.44 hta

    code collection v0.44 hta

    作者:admin 时间:2021-02-02 09:09

    复制代码 代码如下:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>code collection v0.44</title>
    <meta http-equiv="Content-Type" content="text/html; charset=GB2312">
    <HTA:APPLICATION 
        ID="ttyp's code collection v0.44" 
        APPLICATIONNAME="ttyp's code collection v0.44" 
        VERSION="0.1" 
        SCROLL="no" 
        INNERBORDER="no" 
        CONTEXTMENU="yes" 
        CAPTION="yes" 
        ICON="skin//cc.ico" 
        SHOWINTASKBAR="yes" 
        SINGLEINSTANCE="yes" 
        SYSMENU="yes" 
        WINDOWSTATE="normal"
        NAVIGABLE="yes"
        />
    <script language="JavaScript" src="js/xml.js"></script>
    <script language="JavaScript" src="js/xmlhttp.js"></script>
    <SCRIPT language=JavaScript src="js/skin.js"></script>
    <SCRIPT language=JavaScript src="js/progressorbar.js"></script>
    <script language="JavaScript" src="js/xtree.js"></script>
    <script language="JavaScript" src="js/dom.js"></script>
    <script language="JavaScript" src="js/config.js"></script>
    <script language="JavaScript" src="js/global.js"></script>
    <script language="JavaScript" src="js/highlight.js"></script>
    <script language="VbScript" src="js/ts.vbs"></script>
    <script language="JavaScript" src="js/autoupdate.js"></script>
    <SCRIPT language=JavaScript src="js/dmenu.js"></script>
    <SCRIPT language=JavaScript src="js/output.js"></script>
    <SCRIPT language=JavaScript src="js/splitbar.js"></script>
    <SCRIPT language=JavaScript src="js/search.js"></script>
    <SCRIPT language=JavaScript src="js/toolbar.js"></script>
    <SCRIPT language=JavaScript src="js/inputfile.js"></script>
    <SCRIPT language=JavaScript src="js/createlink.js"></script>
    <SCRIPT language=JavaScript src="js/password.js"></script>
    <SCRIPT language=JavaScript src="js/chm.js"></script>


    <SCRIPT LANGUAGE="JavaScript">

    var _designMode=0;
    var g_prompt;
    var g_window;
    var doc;

    <!--
    function init()
    {    

        //定义全局变量
        g_prompt    = new CLASS_PROMPT();
        g_window    = new CLASS_WINDOW();


        var doc        = new CLASS_XML("xml/data.xml")

        //用于直接加载时获得根接点
        var rootXml    = doc.root();
        var root    = getRootNode(rootXml);

        //dom.js
        loadChild(root,rootXml);

        doc.dispose();

        root.setup(document.getElementById("divTree"));    

        bt_newitem.onclick = function(){
            if(Global.selectedNode!=null){
                writeDate(document.frames.fraGeneral,"");
                changeModel(0);

                var o = new Node("新接点","javascript:writeCode()","fraGeneral");
                if(Global.selectedNode.childNodes.length>0&&Global.selectedNode.load==false){
                    Global.selectedNode.expand();
                    Global.selectedNode.load = false;
                }else{
                    Global.selectedNode.load = true;
                }
                Global.selectedNode.add(o);

                o.select();
                o.edit();

                var o_xml    = new CLASS_XML("xml/data.xml");

                var n = o_xml.selectSingleNode("//*[@]");

                var q = o_xml.createElement("item");
                    q.setAttribute("name","新接点");
                    q.setAttribute("id",o.key);

                n.appendChild(q);

                //保存菜单文件
                o_xml.save();
                o_xml.dispose();

            }else{
                g_prompt.show("请选择要添加的接点栏目");
            }        
        }

        bt_delete.onclick = function(){
            var _o = Global.selectedNode;
            if(_o){
                if(_o.childNodes.length==0){            
                    var o_xml    = new CLASS_XML("xml/data.xml");
                    var    m        = o_xml.selectSingleNode("//*[@]");

                    if(m!=null&&m.nodeName=="item"){
                        if(confirm("是否真的删除接点[" + _o.text + "]?")){
                            m.parentNode.removeChild(m);

                            o_xml.save();


                            //删除数据文件
                            deleteContent(_o.key);

                            _o.remove();
                        }
                    }else{
                        g_prompt.show("根接点不能删除!");
                    }

                    o_xml.dispose();
                }else{
                    g_prompt.show("有子接点不能删除",true);
                }
            }else{
                g_prompt.show("请选择要删除的接点");
            }
        }

        bt_save.onclick = function(){        
            var _o = Global.selectedNode;
            if(_o){        
                //获取文本
                var s = "";
                var t = _o.text;

                switch(_designMode){
                    case 0:
                        s = document.frames.fraGeneral.document.documentElement.outerHTML;
                    break;
                    case 1:
                        s = document.getElementById("editBox").innerText;                    
                    break;
                    case 2:
                        s = document.frames.fraPreview.document.documentElement.outerHTML;
                    default:
                    break;
                }

                //保存文本(dom.js)
                if(saveContent(_o.key,t,s)){
                    g_prompt.show("[" + _o.text + "]保存成功!");
                }else{
                    g_prompt.show("[" + _o.text + "]保存失败!");
                }
            }else{
                g_prompt.show("请选择要保存的接点");
            }
        }

        bt_update.onclick = function(){
            var    auto = new CLASS_AUTOUPDATE("CLASS_AUTOUPDATE",g_window);
                auto.update();

        }

        /*
         *    树接点编辑事件
         */
        Node.prototype.onAfterEdit = function(e,oldText,newText){
            if(oldText!=newText){
                var _o    = Global.selectedNode;
                    _o.setText(this.text);

                var o_xml = new CLASS_XML("xml/data.xml");

                var m    = o_xml.selectSingleNode("//*[@]");
                if(m!=null){
                    m.setAttribute("name",this.text);
                    m.setAttribute("password",this.password);
                    //保存菜单文件
                    o_xml.save();

                    var data = new CLASS_XML("xml\\" + _o.key + ".xml");
                    if(data.error == false){
                        var    title = data.selectSingleNode("//title");

                        if(title!=null){
                            title.setAttribute("value",this.text);
                        }
                        data.save();
                    }
                    data.dispose();                
                }else{
                    document.title = "Error:没有找到接点" + _o.key;
                }

                o_xml.dispose();

                this.select();
            }

        }

        /*
         *    接点拖动事件
         */
        Node.prototype.onDrag = function(from,to){
            var _f = from.path+"";
            var _t = to.path+"";
            if(_f.length<_t.length&&_t.substring(0,_f.length)==_f){
                g_prompt.show("不能移动到子接点");
                return;
            }

            //处理树
            to.moveToChild(from);

            /*
             *开始移动接点
             */        
            var o_xml = new CLASS_XML("xml/data.xml");

            //处理XML
            var o_f = o_xml.selectSingleNode("//*[@]");
            var o_t = o_xml.selectSingleNode("//*[@]");

            o_t.appendChild(o_f);

            o_xml.save();
            o_xml.dispose();

        }


        Node.prototype.onExpand = function(n){
            var o = this;    

            if(!this.load){

                if(this.locked){

                    var r = window.showModalDialog("js/password.htm",this.key,"dialogHeight:80px;dialogWidth:250px;");            

                    if(typeof(r)=="undefined"||r==0){                    
                        return false;
                    }else{            
                        o.locked = false;
                    }

                    
                }

                this.open    = 1;
                this.load    = true;

                var o_xml    = new CLASS_XML("xml/data.xml");
                var m        = o_xml.selectSingleNode("//*[@]");

                var    f    = o.getFirstChild();            
                    f.remove();

                //dom.js
                loadChild(o,m);

                o_xml.dispose();
            } 
            return true;
        }


        document.frames.fraGeneral.document.designMode = "on";

        //创建右键菜单
        var g_rightmenu = new CLASS_RIGHTMENU(document.getElementById("test"),document.getElementById("divTree"),"xml/rightmenu.xml");

        //创建分割条
        var g_splitbar    = new CLASS_SPLITBAR_HORIZON(document.getElementById("divSplit"),document.getElementById("divTree"),document.getElementById("divList"));

        var    auto    = new CLASS_AUTOUPDATE("CLASS_AUTOUPDATE",g_window);
            auto.check();

            CLASS_TOOLBAR.prototype.highlight = doHighlight;
        var g_toolbar    =  new CLASS_TOOLBAR(document.getElementById("cbHead"),document.frames.fraGeneral,g_window);
            g_toolbar.path = skinPath;


        //全局键盘事件
        document.onkeydown = function(e){
            var code,o;

            //兼容ns&ie事件
            if(!e) e = window.event;

            //兼容ns&ie按键
            code = e.which ? e.which : e.keyCode;        

            switch(code){
                case 83:
                case 115:                //ctrl+s
                    if(e.ctrlKey){
                        document.getElementById("bt_save").click();
                    }
                    break;
                case 110:                //ctrl+n
                case 78:
                    if(e.ctrlKey){
                        document.getElementById("bt_newitem").click();
                    }
                    break;
                case 46:                //delete
                    if(e.shiftKey){
                        document.getElementById("bt_delete").click();
                    }
                    break;
                case 81:    //ctrl+q
                case 113:
                    if(e.ctrlKey)
                    {
                        changeModel(0,true);
                    }
                    break;
                case 87:    //ctrl+w
                case 119:
                    if(e.ctrlKey)
                    {
                        changeModel(1,true);
                    }
                    break;
                case 69:    //ctrl+e,ctrl+b
                case 101:
                case 66:
                case 98:
                    if(e.ctrlKey)
                    {
                        changeModel(2,true);
                    }
                    break;
                default:break;
            }
        }

        //开始画面
        about();

    }

    /*
     *    数据导入导出
     */
    function odata(flag){

        var _o    = Global.selectedNode;
        if(_o){
            if(flag){                
                outData(_o);
            }else{
                inData(_o);
            }
        }else{
            g_prompt.show("请选择要操作的接点");
        }
    }

    /*
     *    重命名接点
     */
    function editNode(){
        var _o    = Global.selectedNode;
        if(_o){
            _o.edit();
        }
    }

    /*
     *    转到连接
     */
    function go(url){
        changeModel(2,false);
        document.getElementById("fraPreview").src = url;
    }

    /*
     *    写正文
     */
    function writeCode(id){    

        //获得接点的文本(dom.js)
        var sid;
        if(typeof(id)=="undefined"){
            sid = Global.selectedNode.key;
            if(Global.selectedNode.locked){
    上一篇:超简陋浏览器
    下一篇:没有了