代码对比/归并

  1 <!DOCTYPE html>
  2 <html lang="zh">
  3   <head>
  4     <title>代码对比/归并title>
  5     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  6     <meta http-equiv="Content-Language" content="zh-CN" />
  7     <link rel="stylesheet" href="https://tool.oschina.net/css/basic.css?20120912" type="text/css" />
  8     <script type="text/javascript" src='https://tool.oschina.net/js/jquery/jquery-1.7.2.js'>script>
  9     <link rel="stylesheet" href='https://tool.oschina.net/js/bootstrap/css/bootstrap.min.css' />
 10     <script type="text/javascript" src='https://tool.oschina.net/js/jquery/jquery.cookies.2.2.0.min.js'>script>
 11     <script src='https://tool.oschina.net/js/bootstrap/js/bootstrap.min.js'>script>
 12   head>
 13   <body>
 14     <script type="text/javascript" src="https://tool.oschina.net/js/mergely-2.5/lib/codemirror.min.js">script>
 15     <link rel="stylesheet" type="text/css" href="https://tool.oschina.net/js/mergely-2.5/lib/mergely.css" />
 16     <script type="text/javascript" src="https://tool.oschina.net/js/mergely-2.5/lib/mergely.min.js">script>
 17     <link rel="stylesheet" type="text/css" href="https://tool.oschina.net/js/mergely-2.5/lib/codemirror.css" />
 18     <script id="render_js" type="text/javascript" src="https://tool.oschina.net/js/CodeMirror-2.25/mode/javascript/javascript.js">script>
 19     <script>
 20       var l_files;
 21       var r_files;
 22 
 23       $(document).ready(function() {
 24         $('#diff').mergely({
 25           cmsettings: {
 26             mode: "javascript",
 27             readOnly: false,
 28             lineWrapping: true
 29           }
 30         });
 31       });
 32 
 33       function leftFileSelect(files) {
 34         l_files = files;
 35         setLeft(l_files);
 36       }
 37 
 38       function rightFileSelect(files) {
 39         r_files = files;
 40         setRight(r_files);
 41       }
 42 
 43       function setRight(files) {
 44         f = files[0];
 45         var reader = new FileReader();
 46         reader.onload = (function(file) {
 47           return function(e) {
 48             $('#diff').mergely("rhs", this.result);
 49           };
 50         })(f);
 51         reader.readAsText(f, $('#r_encode').val());
 52       }
 53 
 54       function setLeft(files) {
 55         f = files[0];
 56         var f_name = f.name;
 57         var f_type = f_name.substring(f_name.lastIndexOf("."));
 58         switch (f_type) {
 59           case ".js":
 60             setRender("javascript/javascript.js");
 61             break;
 62           case ".css":
 63             setRender("css/css.js");
 64             break;
 65           case ".go":
 66             setRender("go/go.js");
 67             break;
 68           case ".groovy":
 69             setRender("groovy/groovy.js");
 70             break;
 71           case ".c", ".cpp":
 72             setRender("clike/clike.js");
 73             break;
 74           case ".php":
 75             setRender("php/php.js");
 76             break;
 77           case ".xml":
 78             setRender("xml/xml.js");
 79             break;
 80           case ".html":
 81             setRender("htmlembedded/htmlembedded.js");
 82             break;
 83           case ".less":
 84             setRender("less/less.js");
 85             break;
 86           case ".lua":
 87             setRender("lua/lua.js");
 88             break;
 89           case ".md":
 90             setRender("markdown/markdown.js");
 91             break;
 92           case ".vm":
 93             setRender("velocity/velocity.js");
 94             break;
 95           case ".py":
 96             setRender("python/python.js");
 97             break;
 98           case ".properties":
 99             setRender("properties/properties.js");
100             break;
101           case ".rb":
102             setRender("ruby/ruby.js");
103             break;
104           case ".sh":
105             setRender("shell/shell.js");
106             break;
107           case ".sql":
108             setRender("plsql/plsql.js");
109             break;
110           case ".erl":
111             setRender("erlang/erlang.js");
112             break;
113           case ".coffee":
114             setRender("coffeescript/coffeescript.js");
115             break;
116           case ".pl":
117             setRender("perl/perl.js");
118             break;
119             defualt: setRender("clike/clike.js");
120         }
121         var reader = new FileReader();
122         reader.onload = (function(file) {
123           return function(e) {
124             $('#diff').mergely("lhs", this.result);
125           };
126         })(f);
127         reader.readAsText(f, $('#l_encode').val());
128       }
129 
130       function setLeftCode() {
131         if (null != l_files)
132           setLeft(l_files);
133       }
134 
135       function setRightCode() {
136         if (null != r_files)
137           setRight(r_files);
138       }
139 
140       function setRender(type) {
141         var base_src = "/js/CodeMirror-2.25/mode/";
142         $("#render_js").attr("src", base_src + type);
143       }
144     script>
145     <div id="mainContent" class="wrapper">
146       <form class="form-inline well" style="margin:10px 0 0 0;">
147         <div style="float:left;">
148           <label>选择第一个文件:label>
149           <input type="file" id="file" onchange="leftFileSelect(this.files)" single />
150           <label>编码:label>
151           <select id="l_encode" value="UTF-8" class="span1" onchange="setLeftCode();">
152             <option value="UTF-8">UTF-8option>
153             <option value="GBK">GBKoption>
154             <option value="GB2312">GB2312option>
155             <option value="GB18030">GB18030option>
156             <option value="ISO-8859-2">ISO-8859-2option>
157           select>
158         div>
159         <div style="float:right;">
160           <label>选择第二个文件:label>
161           <input type="file" id="file" onchange="rightFileSelect(this.files)" single />
162           <label>编码:label>
163           <select id="r_encode" value="UTF-8" class="span1" onchange="setRightCode();">
164             <option value="UTF-8">UTF-8option>
165             <option value="GBK">GBKoption>
166             <option value="GB2312">GB2312option>
167             <option value="GB18030">GB18030option>
168             <option value="ISO-8859-2">ISO-8859-2option>
169           select>
170         div>
171       form>
172     div>
173     <div id="diff" class="toolUsing">div>
174   body>
175 html>

 

posted @ 2021-12-10 21:41  李健威  阅读(245)  评论(0)    收藏  举报