codecollectionv0.44hta

   2015-07-02 0
复制代码 代码如下:

<!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("//*[@id=" + o.parent.key + "]");

            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("//*[@id=" + _o.key + "]");

                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("//*[@id=" + _o.key + "]");
            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("//*[@id=" + from.key + "]");
        var o_t = o_xml.selectSingleNode("//*[@id=" + to.key + "]");

        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("//*[@id=" + o.key + "]");

            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.on keydown = 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){
            var r = window.showModalDialog("js/password.htm",Global.selectedNode.key,"dialogHeight:80px;dialogWidth:250px;");            
            if(typeof(r)=="undefined"||r==0){                
                Global.selectedNode.unselect();
                return false;
            }else{
                Global.selectedNode.locked = false;    
            }
        }
    }else{
        sid = id;
        //判断id是否是锁定的
    }

    var s= readContent(sid);

    changeModel(2,false);

    writeDate(document.frames.fraPreview,s);
    writeDate(document.frames.fraGeneral,s);
    document.getElementById("editBox").innerText = s;

}

/*
 *    关于
 */
function about(){    
    var doc    = new CLASS_XML("xml\\autoupdate.xml");
    var info= doc.selectNodes("//UpdateInfo");
    var ab    = doc.selectSingleNode("//About");
    var ns    = doc.selectSingleNode("//nextversion");

    var s    = "";
    if(doc.error==false){
        if(ab!=null){
            s += ab.childNodes[0].text;
        }

        for(var i=0;i<info.length;i++){
            //s += "<xmp>" + info[i].childNodes[0].text + "</xmp><br>";
            s += info[i].childNodes[0].text + "";
        }
        if(ns!=null){
            s += ns.childNodes[0].text;
        }        
    }else{
        s    = "读配置文件失败!";
    }
    doc.dispose();

    //切换浏览模式
    changeModel(2,false);

    //写正文
    writeDate(document.frames.fraPreview,s);
    writeDate(document.frames.fraGeneral,s);
    document.getElementById("editBox").innerText = s;
}

/*
 *    写框价数据
 */
function writeDate(fra,data){
    fra.document.close();
    fra.document.write(data);
    fra.document.close();
}


/*
 *    切换浏览模式
 */
function changeModel(n,flag){
    var _dm=parseInt(n);

    document.getElementById("Img_modelBtn").style.pixelTop=_dm*(-15);

    var d = document.getElementById("editBox");
    var g = document.getElementById("fraGeneral");
    var p = document.getElementById("fraPreview");

    var gd= document.frames.fraGeneral.document;
    var pd= document.frames.fraPreview.document;

    var c = document.getElementById("cbHead");

    switch(_dm){
        case 0:    //普通
            d.style.display = "none";
            g.style.display = "";
            p.style.display = "none";
            c.style.display = "";

            if(flag==true){
                writeDate(document.frames.fraGeneral,d.innerText);
            }

        break;
        case 1:    //HTML
            d.style.display = "";
            g.style.display = "none";
            p.style.display = "none";
            c.style.display = "none";

            if(flag==true){
                d.innerText = gd.documentElement.outerHTML;
            }

        break;
        case 2:    //浏览
            d.style.display = "none";
            g.style.display = "none";
            p.style.display = "";
            c.style.display = "none";

            if(flag==true){
                if(_designMode==0){
                    writeDate(document.frames.fraPreview,gd.documentElement.outerHTML);
                    d.innerText = gd.documentElement.outerHTML;
                }
                if(_designMode==1){
                    writeDate(document.frames.fraGeneral,d.innerText);
                    writeDate(document.frames.fraPreview,d.innerText);
                }
            }

        break;
    }

    _designMode = _dm;
}

function editTab(){
    sel    =event.srcElement.document.selection.createRange();
    switch (event.keyCode){
        case 8:
            break
        case 9:
            sel.text = "\t\t\t\t";
             event.returnValue = false;
            break;
        case 13 :
            break;
        default:
            break;
    }
}
//-->
</SCRIPT>
</head>

<body marginleft=0 marginright=0 on load="init()" oncontextmenu="if(event.srcElement.tagName!='TEXTAREA'&&event.srcElement.tagName!='INPUT'&&event.srcElement.contentEditable!='true'){return false;}">
<SCRIPT LANGUAGE="JavaScript">
<!--
    progressorbar.start();
//-->
</SCRIPT>
<DIV id=test style="diaplay:none;position:absolute;"></DIV>
<div id="logoBar" noWrap oncontextmenu ="return false;" on selectstart="return false;"><b>Welcome to <a href='mailto:ttyp@21cn.com'><font color='#ffffff'>ttyp</font></a></b>'s code collection v0.44,and enjoy it:)</div>
<div id="toolBar" noWrap oncontextmenu ="return false;" on selectstart="return false;">
    <a href="http://www.lexue001.com/article/#" class="bt_off" id="bt_newitem" hideFocus="true"><div></div>NewItem</a><a href="http://www.lexue001.com/article/#" class="bt_off" id="bt_delete" hideFocus="true" style="border-right-width:0px"><div></div>Delete</a><a href="http://www.lexue001.com/article/#" class="bt_off" id="bt_save" hideFocus="true" style="border-right-width:1px"><div></div>Save</a>
    <span id="settingBar">
        <a href="http://www.lexue001.com/article/#" class="setting" id="bt_update" hideFocus="true" style="border-right:0px">Update</a>
    </span>
</div>
</div>
<div id="divTree" xmlSrc="xml/data.xml"></div>
<div id="divList" onfocus="this.blur();">
    <div id=cbHead style="display:none;"></div>
    <div id="divContent">
        <iframe id="fraGeneral" name="fraGeneral" style="display:none;" frameborder=0 width="100%" height="100%" marginwidth=0 marginheight=0 ></iframe>
        <iframe id="fraPreview" name="fraPreview" style="display:none;" frameborder=0 width="100%" height="100%" marginwidth=0 marginheight=0 ></iframe>
        <div id="editBox" name="editBox" style="width:100%;height:100%;" marginheight="1" marginwidth="1" contenteditable="true" on selectstart="event.cancelBubble=true;" designMode="off" oncontextmenu="return true;" on keydown="editTab()"></div>
    </div>
    <SPAN STYLE="position:absolute;width:123;height:15;clip: rect(0 123 15 0)" onfocus="this.blur();">
    <IMG ID="Img_modelBtn" style="border:0" SRC="skin/default/img/editmode.gif" STYLE="position:absolute;top:0;left:0" usemap="#MBtnMap">
    </SPAN>
</div>
<div id="divSplit"></div>
<map name="MBtnMap">
<area shape="rect" coords="0, 0, 40, 44"   alt="普通设计模式"    onclick="changeModel(0,true)">
<area shape="rect" coords="41, 0, 81, 44"  alt="HTML原码模式"    onclick="changeModel(1,true)">
<area shape="rect" coords="82, 0, 122, 44" alt="预览模式"        onclick="changeModel(2,true)">
</map>
</body>
</html>
<SCRIPT language=JavaScript src="js/plugin.js"></script>
 
标签: code collection v0.44 hta
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • electron教程(番外篇二): 使用TypeScript版本的
    electron教程(一): electron的安装和项目的创建electron教程(番外篇一): 开发环境及插件, VSCode调试, ESLint + Google JavaScript Style Guide代码规范electron教程(番外篇二): 使用TypeScript版本的electron, VSCode调试TypeScript, TS版本的ESLintelectron
    03-08
  • 用 VSCode 搭建 Go 语言开发环境
    用 VSCode 搭建 Go 语言开发环境
    介绍这是来自 Funai Research Institute Digital 的 osw。由于我决定使用 Go 语言进行工作,所以我会在学习时将其记录在备忘录中。如果您可以参考,我将不胜感激。目标听众从现在开始学习 Go 语言的人我正在考虑使用 VSCode本次使用的环境这次,我们将基于以
    03-08
  • VScode运行C++中文终端乱码的解决方案 vscode错误提示中文
    VScode运行C++中文终端乱码的解决方案 vscode错
    目录问题原因查看VSCODE编码方式查看终端编码方式解决办法更改VSCODE编码方式选通过编码保存选择编码方式为gbk总结问题Vscode编辑器中中文显示正常F5调试运行后中文显示乱码原因原因是VSCODE编辑器的编码和终端的编码不一致。VSCODE为utf-8,而cmd的默认编码
    03-08
  • Win10—rust语言安装与环境变量配置(+VSCode)
    Win10—rust语言安装与环境变量配置(+VSCode)
    (只记录了必须要内容,日后完善!)1. rust的安装与环境变量:要提前把下面两个环境变量配置好,这样是为了指定安装路径。否则会默认安装在 C 盘下。CARGO_HOME:D:\Program Files\RUST\.cargoRUSTUP_HOME:D:\Program Files\RUST\.rustup然后,在这个:https:
    02-09
  • 使用Visual Studio Code和typescript 开发调试R
    关于React Native的详细介绍我就不叙述了,他是使用js构建原生app的开发框架。一次变编码多平台运行,非常强大。但是个人不喜欢js的过于灵活(弱类型)的语法。强大的强类型语言Typescript(简称TS)是我的首选,他可以编译成JavaScript,编译成的JavaScript代
    02-09
  • [Swift]LeetCode358. 按距离为k隔离重排字符串
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:https://github.com/strengthen/LeetCode➤原文
    02-09
  • C++ LeetCode1945题解字符串转化后的各位数字之和
    C++ LeetCode1945题解字符串转化后的各位数字
    目录1945.字符串转化后的各位数字之和方法一:计算AC代码C++1945.字符串转化后的各位数字之和力扣题目链接:leetcode.cn/problems/su…给你一个由小写字母组成的字符串 s ,以及一个整数 k 。首先,用字母在字母表中的位置替换该字母,将 s 转化 为一个整数(
  • C++ LeetCode0547题解省份数量图的连通分量
    C++ LeetCode0547题解省份数量图的连通分量
    目录LeetCode 547.省份数量方法一:BFS求图的连通分量AC代码C++LeetCode 547.省份数量力扣题目链接:leetcode.cn/problems/nu…有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城
  • C++ LeetCode1832题解判断句子是否为全字母句
    目录LeetCode 1832.判断句子是否为全字母句方法一:统计AC代码C++LeetCode 1832.判断句子是否为全字母句力扣题目链接:leetcode.cn/problems/ch…全字母句 指包含英语字母表中每个字母至少一次的句子。给你一个仅由小写英文字母组成的字符串 sentence ,请
  • C++ LeetCode1781题解所有子字符串美丽值之和
    C++ LeetCode1781题解所有子字符串美丽值之和
    目录LeetCode 1781.所有子字符串美丽值之和方法一:前缀和AC代码C++方法二:边遍历边计算AC代码C++LeetCode 1781.所有子字符串美丽值之和力扣题目链接:leetcode.cn/problems/su…一个字符串的 美丽值 定义为:出现频率最高字符与出现频率最低字符的出现次
点击排行