visuddhinanda 4 лет назад
Родитель
Сommit
3129d3cabf
1 измененных файлов с 0 добавлено и 276 удалено
  1. 0 276
      app/term/text_compare.html

+ 0 - 276
app/term/text_compare.html

@@ -1,276 +0,0 @@
-<!DOCTYPE html>
-<html>
-	<head>
-		<title>文本比较工具</title>
-		<style type="text/css">
-			* {
-				padding: 0px;
-				margin: 0px;
-			}
-			html,
-			body {
-				overflow-y: hidden;
-			}
-			.edit_div {
-				border: 1px solid #cccccc;
-				overflow: auto;
-				position: relative;
-			}
-			.edit_div textarea {
-				resize: none;
-				background: none repeat scroll 0 0 transparent;
-				border: 0 none;
-				width: 100%;
-				height: 200px;
-				overflow-y: scroll;
-				position: absolute;
-				left: 0px;
-				top: 0px;
-				z-index: 2;
-				font-size: 18px;
-				white-space: pre-wrap;
-				word-wrap: break-word;
-				word-break: break-all;
-			}
-			.edit_div pre {
-				overflow-y: scroll;
-				white-space: pre-wrap;
-				word-wrap: break-word;
-				word-break: break-all;
-				width: 100%;
-				height: 200px;
-				text-align: left;
-				color: #ffffff;
-				z-index: 1;
-				font-size: 18px;
-			}
-		</style>
-	</head>
-	<body>
-		<table style="width: 100%">
-			<tr>
-				<td style="width: 50%">
-					<div class="edit_div">
-						<pre id="edit_pre_1"></pre>
-						<textarea
-							id="edit_textarea_1"
-							onscroll="test1_scroll()"
-							oninput="textchange()"
-							onpropertychange="textchange()"
-						></textarea>
-					</div>
-				</td>
-				<td style="width: 50%">
-					<div class="edit_div">
-						<pre id="edit_pre_2"></pre>
-						<textarea
-							id="edit_textarea_2"
-							onscroll="test2_scroll()"
-							oninput="textchange()"
-							onpropertychange="textchange()"
-						></textarea>
-					</div>
-				</td>
-			</tr>
-		</table>
-		<script type="text/javascript">
-			function test1_scroll() {
-				document.getElementById("edit_pre_1").scrollTop = document.getElementById("edit_textarea_1").scrollTop;
-				document.getElementById("edit_pre_2").scrollTop = document.getElementById("edit_pre_1").scrollTop;
-				document.getElementById("edit_textarea_2").scrollTop = document.getElementById(
-					"edit_textarea_1"
-				).scrollTop;
-			}
-			function test2_scroll() {
-				document.getElementById("edit_pre_2").scrollTop = document.getElementById("edit_textarea_2").scrollTop;
-				document.getElementById("edit_pre_1").scrollTop = document.getElementById("edit_pre_2").scrollTop;
-				document.getElementById("edit_textarea_1").scrollTop = document.getElementById(
-					"edit_textarea_2"
-				).scrollTop;
-			}
-			function textchange() {
-				var op = eq({
-					value1: document.getElementById("edit_textarea_1").value,
-					value2: document.getElementById("edit_textarea_2").value,
-				});
-				document.getElementById("edit_pre_1").innerHTML = op.value1 + "\r\n";
-				document.getElementById("edit_pre_2").innerHTML = op.value2 + "\r\n";
-			}
-			function eq(op) {
-				if (!op) {
-					return op;
-				}
-				if (!op.value1_style) {
-					op.value1_style = "background-color:#FEC8C8;";
-				}
-				if (!op.value2_style) {
-					op.value2_style = "background-color:#FEC8C8;";
-				}
-				if (!op.eq_min) {
-					op.eq_min = 3;
-				}
-				if (!op.eq_index) {
-					op.eq_index = 5;
-				}
-				if (!op.value1 || !op.value2) {
-					return op;
-				}
-				var ps = {
-					v1_i: 0,
-					v1_new_value: "",
-					v2_i: 0,
-					v2_new_value: "",
-				};
-				while (ps.v1_i < op.value1.length && ps.v2_i < op.value2.length) {
-					if (op.value1[ps.v1_i] == op.value2[ps.v2_i]) {
-						ps.v1_new_value += op.value1[ps.v1_i].replace(/</g, "<").replace(">", ">");
-						ps.v2_new_value += op.value2[ps.v2_i].replace(/</g, "<").replace(">", ">");
-						ps.v1_i += 1;
-						ps.v2_i += 1;
-						if (ps.v1_i >= op.value1.length) {
-							ps.v2_new_value +=
-								"<span style='" +
-								op.value2_style +
-								"'>" +
-								op.value2.substr(ps.v2_i).replace(/</g, "<").replace(">", ">") +
-								"</span>";
-							break;
-						}
-						if (ps.v2_i >= op.value2.length) {
-							ps.v1_new_value +=
-								"<span style='" +
-								op.value1_style +
-								"'>" +
-								op.value1.substr(ps.v1_i).replace(/</g, "<").replace(">", ">") +
-								"</span>";
-							break;
-						}
-					} else {
-						ps.v1_index = ps.v1_i + 1;
-						ps.v1_eq_length = 0;
-						ps.v1_eq_max = 0;
-						ps.v1_start = ps.v1_i + 1;
-						while (ps.v1_index < op.value1.length) {
-							if (op.value1[ps.v1_index] == op.value2[ps.v2_i + ps.v1_eq_length]) {
-								ps.v1_eq_length += 1;
-							} else if (ps.v1_eq_length > 0) {
-								if (ps.v1_eq_max < ps.v1_eq_length) {
-									ps.v1_eq_max = ps.v1_eq_length;
-									ps.v1_start = ps.v1_index - ps.v1_eq_length;
-								}
-								ps.v1_eq_length = 0;
-								break; //只寻找最近的
-							}
-							ps.v1_index += 1;
-						}
-						if (ps.v1_eq_max < ps.v1_eq_length) {
-							ps.v1_eq_max = ps.v1_eq_length;
-							ps.v1_start = ps.v1_index - ps.v1_eq_length;
-						}
-
-						ps.v2_index = ps.v2_i + 1;
-						ps.v2_eq_length = 0;
-						ps.v2_eq_max = 0;
-						ps.v2_start = ps.v2_i + 1;
-						while (ps.v2_index < op.value2.length) {
-							if (op.value2[ps.v2_index] == op.value1[ps.v1_i + ps.v2_eq_length]) {
-								ps.v2_eq_length += 1;
-							} else if (ps.v2_eq_length > 0) {
-								if (ps.v2_eq_max < ps.v2_eq_length) {
-									ps.v2_eq_max = ps.v2_eq_length;
-									ps.v2_start = ps.v2_index - ps.v2_eq_length;
-								}
-								ps.v1_eq_length = 0;
-								break; //只寻找最近的
-							}
-							ps.v2_index += 1;
-						}
-						if (ps.v2_eq_max < ps.v2_eq_length) {
-							ps.v2_eq_max = ps.v2_eq_length;
-							ps.v2_start = ps.v2_index - ps.v2_eq_length;
-						}
-						if (ps.v1_eq_max < op.eq_min && ps.v1_start - ps.v1_i > op.eq_index) {
-							ps.v1_eq_max = 0;
-						}
-						if (ps.v2_eq_max < op.eq_min && ps.v2_start - ps.v2_i > op.eq_index) {
-							ps.v2_eq_max = 0;
-						}
-						if (ps.v1_eq_max == 0 && ps.v2_eq_max == 0) {
-							ps.v1_new_value +=
-								"<span style='" +
-								op.value1_style +
-								"'>" +
-								op.value1[ps.v1_i].replace(/</g, "<").replace(">", ">") +
-								"</span>";
-							ps.v2_new_value +=
-								"<span style='" +
-								op.value2_style +
-								"'>" +
-								op.value2[ps.v2_i].replace(/</g, "<").replace(">", ">") +
-								"</span>";
-							ps.v1_i += 1;
-							ps.v2_i += 1;
-
-							if (ps.v1_i >= op.value1.length) {
-								ps.v2_new_value +=
-									"<span style='" +
-									op.value2_style +
-									"'>" +
-									op.value2.substr(ps.v2_i).replace(/</g, "<").replace(">", ">") +
-									"</span>";
-								break;
-							}
-							if (ps.v2_i >= op.value2.length) {
-								ps.v1_new_value +=
-									"<span style='" +
-									op.value1_style +
-									"'>" +
-									op.value1.substr(ps.v1_i).replace(/</g, "<").replace(">", ">") +
-									"</span>";
-								break;
-							}
-						} else if (ps.v1_eq_max > ps.v2_eq_max) {
-							ps.v1_new_value +=
-								"<span style='" +
-								op.value1_style +
-								"'>" +
-								op.value1
-									.substr(ps.v1_i, ps.v1_start - ps.v1_i)
-									.replace(/</g, "<")
-									.replace(">", ">") +
-								"</span>";
-							ps.v1_i = ps.v1_start;
-						} else {
-							ps.v2_new_value +=
-								"<span style='" +
-								op.value2_style +
-								"'>" +
-								op.value2
-									.substr(ps.v2_i, ps.v2_start - ps.v2_i)
-									.replace(/</g, "<")
-									.replace(">", ">") +
-								"</span>";
-							ps.v2_i = ps.v2_start;
-						}
-					}
-				}
-				op.value1 = ps.v1_new_value;
-				op.value2 = ps.v2_new_value;
-				return op;
-			}
-			function settextheight() {
-				var heigth = document.documentElement.clientHeight - 6 + "px";
-				document.getElementById("edit_pre_1").style.height = heigth;
-				document.getElementById("edit_textarea_1").style.height = heigth;
-				document.getElementById("edit_pre_2").style.height = heigth;
-				document.getElementById("edit_textarea_2").style.height = heigth;
-			}
-			window.onload = function () {
-				settextheight();
-				window.onresize = function () {
-					settextheight();
-				};
-			};
-		</script>
-	</body>
-</html>