Initial commit
This commit is contained in:
73
LICENSE
Normal file
73
LICENSE
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright 2025 FOFStudio
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
96
index.html
Normal file
96
index.html
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Document</title>
|
||||||
|
<script type="text/javascript" src="js/GeneralMethod.js"></script>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="js/JavaScript/CompilerJavaScriptJQ.js"></script>
|
||||||
|
<script type="text/javascript" src="js/JavaScript/CompilerJavaScriptCodeReplace.js"></script>
|
||||||
|
<script type="text/javascript" src="js/JavaScript/NoStrCompiler/CompilerJavaScriptNoStrCompiler.js"></script>
|
||||||
|
<script type="text/javascript" src="js/json/JavascriptCodeKey.js"></script>
|
||||||
|
<script type="text/javascript" src="js/json/JavascriptCompilationJQCode.js"></script>
|
||||||
|
<script type="text/javascript" src="js/json/JavascriptCompilationPNameAll.js"></script>
|
||||||
|
<script type="text/javascript" src="js/json/JavascriptEvCode.js"></script>
|
||||||
|
<script type="text/javascript" src="js/json/JavascriptNoCodeStatic.js"></script>
|
||||||
|
<script type="text/javascript" src="js/json/JavascriptYesCodeStatic.js"></script>
|
||||||
|
<script type="text/javascript" src="js/json/JsonJSCodeTransformation.js"></script>
|
||||||
|
<script type="text/javascript" src="js/json/JavascriptOverallCode.js"></script>
|
||||||
|
<script type="text/javascript" src="js/JavaScript/CompilerJavaScript.js"></script>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="js/json/HTMLcompilation.js"></script>
|
||||||
|
<script type="text/javascript" src="js/json/HTMLcompilation2.js"></script>
|
||||||
|
<script type="text/javascript" src="js/json/HTMLcompilationAttr.js"></script>
|
||||||
|
<script type="text/javascript" src="js/json/HTMLcompilationFun.js"></script>
|
||||||
|
<script type="text/javascript" src="js/json/HTMLTripartiteClass.js"></script>
|
||||||
|
<script type="text/javascript" src="js/html/CompilerHtml.js"></script>
|
||||||
|
<script type="text/javascript" src="js/html/CompilerHtmlOverall.js"></script>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="js/json/CssCompilation.js"></script>
|
||||||
|
<script type="text/javascript" src="js/css/CompilerCss.js"></script>
|
||||||
|
<script type="text/javascript" src="js/css/CompilerCssSpecialTreatment.js"></script>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="js/Compiler.js"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<script>
|
||||||
|
let data = JsCodeCompiler({
|
||||||
|
"JSCode": `let 引擎 = new 引擎类(this);
|
||||||
|
function 初始化加载() {
|
||||||
|
// 初始化加载
|
||||||
|
}
|
||||||
|
|
||||||
|
function 更新数据() {
|
||||||
|
// 将场景绘制到屏幕之前调用,实时更新
|
||||||
|
}
|
||||||
|
|
||||||
|
function 清理数据() {
|
||||||
|
// 应用于清理对象、断开与数据流的连接等
|
||||||
|
}
|
||||||
|
|
||||||
|
function 鼠标移入(objects) {
|
||||||
|
// 鼠标位于脚本对象的子对象上时调用
|
||||||
|
}
|
||||||
|
|
||||||
|
function 鼠标点击(objects) {
|
||||||
|
// 鼠标在场景中执行点击时触发
|
||||||
|
}
|
||||||
|
|
||||||
|
function 窗口尺寸改变(x, y) {
|
||||||
|
// 每次调整程序窗口大小时调用
|
||||||
|
}`,
|
||||||
|
"CodeType": 1,
|
||||||
|
"FileID": "12345678"
|
||||||
|
}
|
||||||
|
)
|
||||||
|
console.log(data);
|
||||||
|
let data1 = ForHtmlCode(`
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Document</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<脚本>
|
||||||
|
let xxx = ""
|
||||||
|
xxx.charCodeAt()
|
||||||
|
</脚本>
|
||||||
|
<style>
|
||||||
|
.xcxcxc{
|
||||||
|
background-color: antiquewhite;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
`, 1, "2345678")
|
||||||
|
console.log(data1);
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
68
js/Compiler.js
Normal file
68
js/Compiler.js
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
//本JS为编译主JS,存放一些编译中通用的方法和变量及相关的数据
|
||||||
|
let CompilerStart = "1_0_1Compiler\r\n";//编译器版本标识
|
||||||
|
let CompilerIdentificationText = "-begin---====----==--==--==--==--==--==--==--==-end-"//编译器唯一标识文本,一些特殊字符可用该标识替换
|
||||||
|
let Comendfofdianhaobenin = "endfofdianhaobenin";//点号的替换符
|
||||||
|
let ComSymbol$FOFStuDio = "ComSymbolFOFStuDio{";//${}替换 通常在`${}`中
|
||||||
|
let ComSymbolCssFOFStuDio = "ComSymbolCssFOFStuDio";//$替换 在CSS中需要直接处理
|
||||||
|
let ComNewlineCharacterFOFStuDiorn = "ComNewlineCharacterRNFOFStuDio";// \r\n
|
||||||
|
let ComNewlineCharacterFOFStuDion = "ComNewlineCharacterFOFStuDion";// \n
|
||||||
|
let ComNewlineCharacterFOFStuDior = "ComNewlineCharacterRFOFStuDion";// \r
|
||||||
|
let ComShuangYinHaoFOFStuDion = "ComShuangYinHaoFOFStuDion";// "
|
||||||
|
let ComDanYinHaoFOFStuDion = "ComDanYinHaoFOFStuDion";// '
|
||||||
|
let ComFanYinHaoFOFStuDion = "ComFanYinHaoFOFStuDion";// `
|
||||||
|
let ComXingHaoFOFStuDioText1 = "ComXingHaoFOFStuDioText1";// /*
|
||||||
|
let ComXingHaoFOFStuDioText2 = "ComXingHaoFOFStuDioText2";// */
|
||||||
|
|
||||||
|
let FileTypeExtension = {
|
||||||
|
//代码文件格式
|
||||||
|
html: ".html",
|
||||||
|
css: ".css",
|
||||||
|
js: ".js",
|
||||||
|
lhtml: ".lhtml",
|
||||||
|
lcss: ".lcss",
|
||||||
|
ljs: ".ljs",
|
||||||
|
Nohtml: "html",
|
||||||
|
Nocss: "css",
|
||||||
|
Nojs: "js",
|
||||||
|
Nolhtml: "lhtml",
|
||||||
|
Nolcss: "lcss",
|
||||||
|
Noljs: "ljs",
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
编译相关所需要的配置
|
||||||
|
@IfComPiler-是否正在编译,假代表不是,真代表是-【注意:判断编译调试状态以该字段为主,翻译、转换等都不在本字段范围中】
|
||||||
|
@IfComDebug-调试还是编译,2代表编译,1代表调试
|
||||||
|
*/
|
||||||
|
let ComPilerDataMsgType = {
|
||||||
|
IfComPiler: false,
|
||||||
|
IfComDebug: 0
|
||||||
|
}
|
||||||
|
let FOFStudioType = {
|
||||||
|
replaceStringsInCode: (JSCode) => {
|
||||||
|
const JsCodeJSonCompilerStr = [];
|
||||||
|
function replaceMatch(match) {
|
||||||
|
const uuid = StrCodeUuid(); // 每次匹配到字符串时都生成新的UUID
|
||||||
|
JsCodeJSonCompilerStr.push([uuid, match, false]); // 直接将新的UUID和原始字符串推入数组
|
||||||
|
return uuid; // 返回新的UUID用于替换原始字符串
|
||||||
|
}
|
||||||
|
// 匹配双引号和单引号包含的文本
|
||||||
|
const pattern1 = /(["'])(?:(?=(\\?))\2.)*?\1/g;
|
||||||
|
const matches1 = JSCode.match(pattern1);
|
||||||
|
if (matches1) {
|
||||||
|
JSCode = JSCode.replace(pattern1, replaceMatch);
|
||||||
|
}
|
||||||
|
// 匹配反引号包含的文本
|
||||||
|
const pattern2 = /([`])(?:(?=(\\?))\2.)*?\1/gs;
|
||||||
|
const matches2 = JSCode.match(pattern2);
|
||||||
|
if (matches2) {
|
||||||
|
JSCode = JSCode.replace(pattern2, replaceMatch);
|
||||||
|
}
|
||||||
|
return { JSCode, JsCodeJSonCompilerStr };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
JsonJSCodeMain(JavascriptCompilationPNameAll_, JavascriptCompilationJQCode_, JsonJSCodeTransformation_, JavascriptCodeKey_, JavascriptNoCodeStatic_, JavascriptEvCode_, JavascriptYesCodeStatic_, JavascriptOverallCode_)
|
||||||
|
|
||||||
|
JSONCompilerInt_All(HTMLcompilation_, HTMLcompilationFun_, HTMLcompilationAttr_, HTMLcompilation2_, HTMLTripartiteClass_);//HTML编译器初始化
|
||||||
|
|
||||||
|
JsonCssCodeMain(CssCompilation_);//CSS编译器初始化
|
356
js/GeneralMethod.js
Normal file
356
js/GeneralMethod.js
Normal file
@@ -0,0 +1,356 @@
|
|||||||
|
// 处理replace方法,替换字符串含有$元素
|
||||||
|
Object.defineProperty(String.prototype, "replaceHack", {
|
||||||
|
value: function (substr, newSubStr) {
|
||||||
|
this.name = 'replaceHack';
|
||||||
|
this.enumerable = false;
|
||||||
|
try {
|
||||||
|
if (typeof newSubStr == 'string' && /\$/g.test(newSubStr)) {
|
||||||
|
newSubStr = newSubStr.replace(/\$/g, "$$$$");
|
||||||
|
};
|
||||||
|
return this.replace(substr, newSubStr)
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
enumerable: false // 定义了一个不可枚举的属性
|
||||||
|
});
|
||||||
|
//禁止用F5键
|
||||||
|
document.onkeydown = function (e) {
|
||||||
|
var ev = window.event || e;
|
||||||
|
var code = ev.keyCode || ev.which;
|
||||||
|
if (code == 116) {
|
||||||
|
ev.keyCode ? ev.keyCode = 0 : ev.which = 0;
|
||||||
|
cancelBubble = true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//不敏感大小写查询方法
|
||||||
|
function indexOfT(T1, T2) {
|
||||||
|
let Str = T1.toLowerCase();
|
||||||
|
let Str1 = T2.toLowerCase();
|
||||||
|
if (Str.indexOf(Str1) != -1) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//生成32/64位随机字符串
|
||||||
|
function generateRandomNumberString(length = 32) {
|
||||||
|
const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
|
||||||
|
const alphaChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
||||||
|
// 确保生成的字符串长度在32到64位之间
|
||||||
|
length = Math.max(32, Math.min(64, length));
|
||||||
|
// 生成第一个字符(必须是字母)
|
||||||
|
let uuid = alphaChars.charAt(Math.floor(Math.random() * alphaChars.length));
|
||||||
|
// 生成中间部分
|
||||||
|
for (let i = 1; i < length - 1; i++) {
|
||||||
|
uuid += chars.charAt(Math.floor(Math.random() * chars.length));
|
||||||
|
}
|
||||||
|
// 生成最后一个字符(必须是字母)
|
||||||
|
uuid += alphaChars.charAt(Math.floor(Math.random() * alphaChars.length));
|
||||||
|
return uuid;
|
||||||
|
}
|
||||||
|
//根据字符串生成临时的UUID
|
||||||
|
function StrCodeUuid(hexDigits) {
|
||||||
|
return generateRandomNumberString();
|
||||||
|
}
|
||||||
|
//时间转时间戳,10位
|
||||||
|
function Time_Strformat(shijianchuo) {
|
||||||
|
var data = new Date(shijianchuo)
|
||||||
|
var time3 = Date.parse(data);
|
||||||
|
time3 = time3 / 1000;
|
||||||
|
return time3;
|
||||||
|
}
|
||||||
|
//取时间戳13位
|
||||||
|
function Time_GetTime_1() {
|
||||||
|
var timestamp = (new Date()).valueOf();
|
||||||
|
return timestamp;
|
||||||
|
}
|
||||||
|
//取时间戳10位
|
||||||
|
function Time_GetTime_2() {
|
||||||
|
ts = Math.round(new Date().getTime() / 1000).toString();
|
||||||
|
return parseInt(ts);
|
||||||
|
}
|
||||||
|
/* 十六进制转文本辅助函数 */
|
||||||
|
let readUTF_10_6 = function (arr) {
|
||||||
|
if (typeof arr === 'string') {
|
||||||
|
return arr;
|
||||||
|
}
|
||||||
|
let UTF = '',
|
||||||
|
_arr = arr;
|
||||||
|
for (let i = 0; i < ObjLengthCount(_arr); i++) {
|
||||||
|
let one = _arr[i].toString(2),
|
||||||
|
v = one.match(/^1+?(?=0)/);
|
||||||
|
if (v && ObjLengthCount(one) == 8) {
|
||||||
|
let bytesLength = ObjLengthCount(v[0]);
|
||||||
|
let store = _arr[i].toString(2).slice(7 - bytesLength);
|
||||||
|
for (let st = 1; st < bytesLength; st++) {
|
||||||
|
store += _arr[st + i].toString(2).slice(2)
|
||||||
|
}
|
||||||
|
UTF += String.fromCharCode(parseInt(store, 2));
|
||||||
|
i += bytesLength - 1
|
||||||
|
} else {
|
||||||
|
UTF += String.fromCharCode(_arr[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return UTF
|
||||||
|
}
|
||||||
|
//十六进制转文本
|
||||||
|
let hexToString_16 = function (str) {
|
||||||
|
if (ObjLengthCount(str) % 2 != 0) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
let buf = [];
|
||||||
|
for (let i = 0; i < ObjLengthCount(str); i += 2) {
|
||||||
|
buf.push(parseInt(str.substring(i, i + 2), 16));
|
||||||
|
}
|
||||||
|
return readUTF_10_6(buf);
|
||||||
|
}
|
||||||
|
//文本转十六进制
|
||||||
|
let bin2Hex_16 = function (str) {
|
||||||
|
let re = /[\u4E00-\u9FA5]/
|
||||||
|
let ar = []
|
||||||
|
for (let i = 0; i < ObjLengthCount(str); i++) {
|
||||||
|
let a = ''
|
||||||
|
if (re.test(str.charAt(i))) { // 中文
|
||||||
|
a = encodeURI(str.charAt(i)).replaceHack(/%/g, '')
|
||||||
|
} else {
|
||||||
|
a = str.charCodeAt(i).toString(16)
|
||||||
|
}
|
||||||
|
ar.push(a)
|
||||||
|
}
|
||||||
|
str = ar.join('')
|
||||||
|
return str
|
||||||
|
}
|
||||||
|
function bin2Hex_16_2(str) {
|
||||||
|
let ar = [];
|
||||||
|
for (let i = 0; i < str.length; i++) {
|
||||||
|
let code = str.charCodeAt(i);
|
||||||
|
if (code > 0x7F) { // 如果是多字节字符(包括中文、特殊符号等)
|
||||||
|
let encoded = encodeURIComponent(str.charAt(i)).replace(/%/g, '');
|
||||||
|
for (let j = 0; j < encoded.length; j += 2) {
|
||||||
|
ar.push(encoded.substr(j, 2));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ar.push(('0' + code.toString(16)).slice(-2)); // 确保每个字符都是两位的十六进制数
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ar.join('');
|
||||||
|
}
|
||||||
|
//取对象或数组成员数
|
||||||
|
function ObjLengthCount(o) {
|
||||||
|
var t = typeof o;
|
||||||
|
if (t == 'string') {
|
||||||
|
return o.length;
|
||||||
|
} else if (t == 'object') {
|
||||||
|
var n = 0;
|
||||||
|
for (var i in o) {
|
||||||
|
n++;
|
||||||
|
}
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
if (o) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (o.length) {
|
||||||
|
return o.length;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//获取所有中间文本,注意start和end要进行特殊符号转义
|
||||||
|
function TakeTheMiddleOfTheTextAll(str, start, end, ifRep = false) {
|
||||||
|
let strStr2 = str;
|
||||||
|
strStr2 = strStr2.replaceAll("\r\n", " " + ComNewlineCharacterFOFStuDiorn + " ")
|
||||||
|
strStr2 = strStr2.replaceAll("\n", " " + ComNewlineCharacterFOFStuDion + " ")
|
||||||
|
strStr2 = strStr2.replaceAll("\r", " " + ComNewlineCharacterFOFStuDior + "r ")
|
||||||
|
if (ifRep == true) {
|
||||||
|
strStr2 = strStr2.replaceAll("$", "12345ssdlhlhmzj12345")
|
||||||
|
start = start.replaceAll("$", "12345ssdlhlhmzj12345")
|
||||||
|
end = end.replaceAll("$", "12345ssdlhlhmzj12345")
|
||||||
|
}
|
||||||
|
let res = strStr2.match(new RegExp(`${start}(.*?)${end}`, "gm"))
|
||||||
|
if (res) {
|
||||||
|
for (let index = 0; index < res.length; index++) {
|
||||||
|
res[index] = res[index].replaceAll(" " + ComNewlineCharacterFOFStuDiorn + " ", "\r\n")
|
||||||
|
res[index] = res[index].replaceAll(" " + ComNewlineCharacterFOFStuDion + " ", "\n")
|
||||||
|
res[index] = res[index].replaceAll(" " + ComNewlineCharacterFOFStuDior + "r ", "\r")
|
||||||
|
if (ifRep == true) {
|
||||||
|
res[index] = res[index].replaceAll("12345ssdlhlhmzj12345", "$")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
} else {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//获取第一个中间文本,注意start和end要进行特殊符号转义
|
||||||
|
function TakeTheMiddleOfTheText2(str, start, end) {
|
||||||
|
let ls = TakeTheMiddleOfTheTextAll(str, start, end);
|
||||||
|
if (ls != undefined && ls != null) {
|
||||||
|
if (ls.length >= 1) {
|
||||||
|
return ls[0];
|
||||||
|
} else {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//判断是否正常JSON文本
|
||||||
|
function isJSONparse(jsonContent) {
|
||||||
|
jsonContent = jsonContent.replaceAll(" ", "");
|
||||||
|
if (typeof jsonContent == 'string') {
|
||||||
|
try {
|
||||||
|
var obj = JSON.parse(jsonContent);
|
||||||
|
if (jsonContent.indexOf('{') > -1 || jsonContent.indexOf('[') > -1) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
//生成二维码
|
||||||
|
function qrcodeImg(elText, qrcodeID, width, height) {
|
||||||
|
var qrcode = new QRCode(document.getElementById(qrcodeID), {
|
||||||
|
width: width,
|
||||||
|
height: height
|
||||||
|
});
|
||||||
|
if (elText == undefined) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
qrcode.makeCode(elText);
|
||||||
|
}
|
||||||
|
|
||||||
|
function FilePath(str)//取全路径去除名称的路径
|
||||||
|
{
|
||||||
|
if (str.indexOf("/") != -1) {
|
||||||
|
str = str.replaceAll("/", "\\")
|
||||||
|
}
|
||||||
|
let strAll = str.split("\\");
|
||||||
|
if (strAll) {
|
||||||
|
if (strAll.length >= 1) {
|
||||||
|
str = str.replace(strAll[strAll.length - 1], "")
|
||||||
|
str = str.replaceAll("\\", "/")
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
function FilePathName(str)//取全路径中的名称区域
|
||||||
|
{
|
||||||
|
if (str.indexOf("/") != -1) {
|
||||||
|
str = str.replaceAll("/", "\\")
|
||||||
|
}
|
||||||
|
let strAll = str.split("\\");
|
||||||
|
if (strAll) {
|
||||||
|
if (strAll.length >= 1) {
|
||||||
|
return strAll[strAll.length - 1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
function FilePathName2(str)//文件名称去掉路径和后缀名
|
||||||
|
{
|
||||||
|
if (str.indexOf("/") != -1) {
|
||||||
|
str = str.replaceAll("/", "\\")
|
||||||
|
}
|
||||||
|
let strAll = str.split("\\");
|
||||||
|
if (strAll) {
|
||||||
|
if (strAll.length >= 1) {
|
||||||
|
let StrType = strAll[strAll.length - 1].split(".");
|
||||||
|
if (StrType) {
|
||||||
|
if (StrType.length >= 1) {
|
||||||
|
StrType[StrType.length - 1] = "." + StrType[StrType.length - 1]
|
||||||
|
let RetName = strAll[strAll.length - 1].substring(0, strAll[strAll.length - 1].length - StrType[StrType.length - 1].length)
|
||||||
|
return RetName
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
function FilePathName3(str)//获取后缀名
|
||||||
|
{
|
||||||
|
let strAll = str.split(".");
|
||||||
|
if (strAll) {
|
||||||
|
if (strAll.length >= 1) {
|
||||||
|
return "." + strAll[strAll.length - 1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
msg:判断图片后缀格式【判断是否是图片格式】,返回真代表图片格式,否则不是图片格式
|
||||||
|
@FileExtension-文件后缀或文件名称
|
||||||
|
*/
|
||||||
|
function IfProjectImageType(FileExtension) {
|
||||||
|
let LsStrImage = `bmp、jpg、jpeg、tiff、gif、pcx、tga、exif、fpx、svg、psd、cdr、pcd、dxf、ufo、eps、ai、raw`;
|
||||||
|
let IfImageObj = false;
|
||||||
|
let ImageData = LsStrImage.split("、");
|
||||||
|
for (let index = 0; index < ObjLengthCount(ImageData); index++) {
|
||||||
|
if (ImageData[index] == FileExtension) {
|
||||||
|
IfImageObj = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
ImageData[index] = "." + ImageData[index]
|
||||||
|
}
|
||||||
|
for (let index = 0; index < ObjLengthCount(ImageData); index++) {
|
||||||
|
if (ImageData[index].indexOf(FileExtension) != -1) {
|
||||||
|
IfImageObj = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return IfImageObj;
|
||||||
|
}
|
||||||
|
//判断是否包含中文
|
||||||
|
function TextisChinese(s) {
|
||||||
|
try {
|
||||||
|
let reg = new RegExp("[\\u4E00-\\u9FFF]+", "g")
|
||||||
|
if (reg.test(s)) {
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
//判断是否有符号
|
||||||
|
function hasSpecialStr(str) {
|
||||||
|
var specialChars = "~·`!!@#$¥%^…&*()()—-_=+[]{}【】、|\\;:;:'\"“‘,./<>《》??,。";
|
||||||
|
var len = specialChars.length;
|
||||||
|
for (var i = 0; i < len; i++) {
|
||||||
|
if (str.indexOf(specialChars.substring(i, i + 1)) != -1) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
//获取文本内容的指定行内容
|
||||||
|
function getCodeTextLine(text, lineNumber) {
|
||||||
|
try {
|
||||||
|
const lines = text.split(/\r?\n/);
|
||||||
|
if (lineNumber > 0 && lineNumber <= lines.length) {
|
||||||
|
return lines[lineNumber - 1];
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//判断有没有中文
|
||||||
|
function FOFcontainsChinese(str) {
|
||||||
|
var reg = /[\u4E00-\u9FA5]/;
|
||||||
|
return reg.test(str);
|
||||||
|
}
|
||||||
|
function FOFgetRandomNumber(min, max) {
|
||||||
|
return Math.floor(Math.random() * (max - min + 1)) + min;
|
||||||
|
}
|
390
js/JavaScript/CompilerJavaScript.js
Normal file
390
js/JavaScript/CompilerJavaScript.js
Normal file
@@ -0,0 +1,390 @@
|
|||||||
|
let JavascriptCompilationPNameAll = [];//存储所有的多层指向PName命令
|
||||||
|
let JsonJSCodeJQ = [];//储存所有的JQ编译数据
|
||||||
|
let JsonJSCodeTransformation = [];//储存所有的代码转换类编译数据
|
||||||
|
let JavascriptCodeKey = [];//储存所有的JS关键字
|
||||||
|
let JavascriptNoCodeStatic = [];//储存所有非静态的类中命令
|
||||||
|
let JavascriptEvCode = [];//储存所有的全局侦听事件命令
|
||||||
|
let JavascriptYesCodeStatic = [];//储存所有的静态命令
|
||||||
|
let JavascriptYesCodeStatic2 = [];//储存所有的静态命令,将endfofdianhaobenin转换为.
|
||||||
|
let JavascriptOverallCode = [];//储存所有的全局命令
|
||||||
|
let JavascriptCompilerLineBreak = [];//编译换行处理,例如类名\r\n .
|
||||||
|
//初始化JS编译JSON信息
|
||||||
|
function JsonJSCodeMain(JavascriptCompilationPNameAll_, JSON_JQ, JsonJSCodeTransformation_, JavascriptCodeKey_, JavascriptNoCodeStatic_, JavascriptEvCode_, JavascriptYesCodeStatic_, JavascriptOverallCode_) {
|
||||||
|
JavascriptCompilationPNameAll = JavascriptCompilationPNameAll_
|
||||||
|
let JavascriptCompilationPNameAllLs = [[], [], [], [], [], [], [], [], [], []];
|
||||||
|
for (let index = 0; index < JavascriptCompilationPNameAll_.length; index++) {
|
||||||
|
if (JavascriptCompilationPNameAll_[index]["com1"].indexOf("endfofdianhaobenin") == -1) {
|
||||||
|
JavascriptCompilationPNameAllLs[0][JavascriptCompilationPNameAllLs[0].length] = JavascriptCompilationPNameAll_[index];
|
||||||
|
}
|
||||||
|
let intEnd = JavascriptCompilationPNameAll_[index]["com1"].split("endfofdianhaobenin");
|
||||||
|
if (intEnd.length == 2) {
|
||||||
|
JavascriptCompilationPNameAllLs[1][JavascriptCompilationPNameAllLs[1].length] = JavascriptCompilationPNameAll_[index];
|
||||||
|
}
|
||||||
|
if (intEnd.length == 3) {
|
||||||
|
JavascriptCompilationPNameAllLs[2][JavascriptCompilationPNameAllLs[2].length] = JavascriptCompilationPNameAll_[index];
|
||||||
|
}
|
||||||
|
if (intEnd.length == 4) {
|
||||||
|
JavascriptCompilationPNameAllLs[3][JavascriptCompilationPNameAllLs[3].length] = JavascriptCompilationPNameAll_[index];
|
||||||
|
}
|
||||||
|
if (intEnd.length == 5) {
|
||||||
|
JavascriptCompilationPNameAllLs[4][JavascriptCompilationPNameAllLs[4].length] = JavascriptCompilationPNameAll_[index];
|
||||||
|
}
|
||||||
|
if (intEnd.length == 6) {
|
||||||
|
JavascriptCompilationPNameAllLs[5][JavascriptCompilationPNameAllLs[5].length] = JavascriptCompilationPNameAll_[index];
|
||||||
|
}
|
||||||
|
if (intEnd.length == 7) {
|
||||||
|
JavascriptCompilationPNameAllLs[6][JavascriptCompilationPNameAllLs[6].length] = JavascriptCompilationPNameAll_[index];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (let index = 0; index < JavascriptCompilationPNameAllLs.length; index++) {
|
||||||
|
for (let index_ = 0; index_ < JavascriptCompilationPNameAllLs[JavascriptCompilationPNameAllLs.length - index - 1].length; index_++) {
|
||||||
|
JavascriptCompilationPNameAll[JavascriptCompilationPNameAll.length] = JavascriptCompilationPNameAllLs[JavascriptCompilationPNameAllLs.length - index - 1][index_]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
JsonJSCodeJQ = JSON_JQ;
|
||||||
|
JsonJSCodeTransformation = JsonJSCodeTransformation_;
|
||||||
|
JavascriptCodeKey = JavascriptCodeKey_;
|
||||||
|
JavascriptNoCodeStatic = JavascriptNoCodeStatic_;
|
||||||
|
JavascriptEvCode = JavascriptEvCode_;
|
||||||
|
JavascriptYesCodeStatic = JavascriptYesCodeStatic_;
|
||||||
|
if (JavascriptYesCodeStatic != undefined) {
|
||||||
|
JavascriptYesCodeStatic2 = JSON.parse(JSON.stringify(JavascriptYesCodeStatic).replaceAll("endfofdianhaobenin", "."))
|
||||||
|
}
|
||||||
|
JavascriptOverallCode = JavascriptOverallCode_;
|
||||||
|
}
|
||||||
|
//编译Html文件下所有Script中的JS代码
|
||||||
|
//编译JS命令
|
||||||
|
//str-要编译的页面代码,
|
||||||
|
//CodeType-编译的类型,1代表编译成本地语言,2代表编译成英文
|
||||||
|
//【注意:本地语言,例如中文、柬埔寨或者其他国家语言以正则为主,目前暂时支持中文】
|
||||||
|
//FileID - 文件的ID,可以是空字符串
|
||||||
|
function JsCodeCompilerAll(str, CodeType, FileID) {
|
||||||
|
let JsCodeAll = JsCodeAllScript(str);
|
||||||
|
for (let index = 0; index < JsCodeAll.length; index++) {
|
||||||
|
let JsCodeAr = [JsCodeAll[index], JsCodeAll[index]];
|
||||||
|
JsCodeAr[1] = JsCodeCompiler({
|
||||||
|
"JSCode": JsCodeAr[1],
|
||||||
|
"CodeType": CodeType,
|
||||||
|
"FileID": FileID
|
||||||
|
});
|
||||||
|
str = str.replace(JsCodeAr[0], JsCodeAr[1])
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
//获取所有Script标签中的内容
|
||||||
|
function JsCodeAllScript(htmlStr) {
|
||||||
|
let reg = RegExp("(<script[^]*?</script>)", "g");
|
||||||
|
htmlStr = htmlStr.replaceAll("<脚本失败提示", "<jiaobenshibaitishiyingwenlinshizhuanhuan")
|
||||||
|
htmlStr = htmlStr.replaceAll("</脚本失败提示", "</jiaobenshibaitishiyingwenlinshizhuanhuan")
|
||||||
|
let htmlStrAll = htmlStr.match(reg);
|
||||||
|
if (htmlStrAll == null || htmlStrAll == undefined) {
|
||||||
|
htmlStrAll = [];
|
||||||
|
}
|
||||||
|
let htmlStrAllReturn = [];
|
||||||
|
if (htmlStrAll.length >= 1) {
|
||||||
|
for (let index = 0; index < htmlStrAll.length; index++) {
|
||||||
|
let JsCodeStrSplit = htmlStrAll[index];
|
||||||
|
let JsCodeStrSplitArr = JsCodeStrSplit.split(">");
|
||||||
|
if (JsCodeStrSplitArr.length >= 1) {
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], "=\"") == false && indexOfT(JsCodeStrSplitArr[0], "=\'") == false && indexOfT(JsCodeStrSplitArr[0], FileTypeExtension.js) == false && indexOfT(JsCodeStrSplitArr[0], " http://") == false && indexOfT(JsCodeStrSplitArr[0], " https://") == false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
} else {
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], `type="module"`) != false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], `type='module'`) != false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], `因特网标准='module'`) != false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], `因特网标准="module"`) != false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
reg = RegExp("(<脚本[^]*?</脚本>)", "g");
|
||||||
|
htmlStrAll = htmlStr.match(reg);
|
||||||
|
if (htmlStrAll == null || htmlStrAll == undefined) {
|
||||||
|
htmlStrAll = [];
|
||||||
|
}
|
||||||
|
if (htmlStrAll.length >= 1) {
|
||||||
|
for (let index = 0; index < htmlStrAll.length; index++) {
|
||||||
|
let JsCodeStrSplit = htmlStrAll[index];
|
||||||
|
let JsCodeStrSplitArr = JsCodeStrSplit.split(">");
|
||||||
|
if (JsCodeStrSplitArr.length >= 1) {
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], "=\"") == false && indexOfT(JsCodeStrSplitArr[0], "=\'") == false && indexOfT(JsCodeStrSplitArr[0], FileTypeExtension.js) == false && indexOfT(JsCodeStrSplitArr[0], " http://") == false && indexOfT(JsCodeStrSplitArr[0], " https://") == false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
} else {
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], `type="module"`) != false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], `type='module'`) != false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], `因特网标准='module'`) != false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], `因特网标准="module"`) != false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
reg = RegExp("(<script[^]*?</脚本>)", "g");
|
||||||
|
htmlStrAll = htmlStr.match(reg);
|
||||||
|
if (htmlStrAll == null || htmlStrAll == undefined) {
|
||||||
|
htmlStrAll = [];
|
||||||
|
}
|
||||||
|
if (htmlStrAll.length >= 1) {
|
||||||
|
for (let index = 0; index < htmlStrAll.length; index++) {
|
||||||
|
let JsCodeStrSplit = htmlStrAll[index];
|
||||||
|
let JsCodeStrSplitArr = JsCodeStrSplit.split(">");
|
||||||
|
if (JsCodeStrSplitArr.length >= 1) {
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], "=\"") == false && indexOfT(JsCodeStrSplitArr[0], "=\'") == false && indexOfT(JsCodeStrSplitArr[0], FileTypeExtension.js) == false && indexOfT(JsCodeStrSplitArr[0], " http://") == false && indexOfT(JsCodeStrSplitArr[0], " https://") == false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
} else {
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], `type="module"`) != false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], `type='module'`) != false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], `因特网标准='module'`) != false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], `因特网标准="module"`) != false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
reg = RegExp("(<脚本[^]*?</script>)", "g");
|
||||||
|
htmlStrAll = htmlStr.match(reg);
|
||||||
|
if (htmlStrAll == null || htmlStrAll == undefined) {
|
||||||
|
htmlStrAll = [];
|
||||||
|
}
|
||||||
|
if (htmlStrAll.length >= 1) {
|
||||||
|
for (let index = 0; index < htmlStrAll.length; index++) {
|
||||||
|
let JsCodeStrSplit = htmlStrAll[index];
|
||||||
|
let JsCodeStrSplitArr = JsCodeStrSplit.split(">");
|
||||||
|
if (JsCodeStrSplitArr.length >= 1) {
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], "=\"") == false && indexOfT(JsCodeStrSplitArr[0], "=\'") == false && indexOfT(JsCodeStrSplitArr[0], FileTypeExtension.js) == false && indexOfT(JsCodeStrSplitArr[0], " http://") == false && indexOfT(JsCodeStrSplitArr[0], " https://") == false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
} else {
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], `type="module"`) != false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], `type='module'`) != false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], `因特网标准='module'`) != false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
if (indexOfT(JsCodeStrSplitArr[0], `因特网标准="module"`) != false) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return htmlStrAllReturn;
|
||||||
|
}
|
||||||
|
//编译JS命令
|
||||||
|
//JSCode-要编译的JS代码
|
||||||
|
//CodeType-编译的类型,1代表编译成本地语言,2代表编译成英文
|
||||||
|
//【注意:本地语言,例如中文、柬埔寨或者其他国家语言以正则为主,目前暂时支持中文】
|
||||||
|
//FileID - 文件的ID,可以是空字符串
|
||||||
|
//CompilerObj - 编译配置
|
||||||
|
function JsCodeCompiler(CompilerObj = {}) {
|
||||||
|
JavascriptCompilerLineBreak = [];//编译换行处理
|
||||||
|
CompilerObj["JSCode"] = "CompilerStartJS" + CompilerStart + CompilerObj["JSCode"];
|
||||||
|
CompilerObj["JSCode"] = RegularReplacer(CompilerObj["JSCode"], 1)//编译特殊符号替换
|
||||||
|
CompilerObj["JSCode"] = JsCodeCompilerCodeJQ(CompilerObj["CodeType"], CompilerObj["JSCode"]);//JQ专属编译
|
||||||
|
let JsCodeJSonCompilerStr = [];//储存所有编译时产生的临时数据,该变量中的临时数据将不会参与到JS编译!
|
||||||
|
let RetJSCode = NoStrCompiler(JsCodeJSonCompilerStr, CompilerObj["JSCode"], 1, ComPilerDataMsgType.IfComPiler, CompilerObj["FileID"]);//不参与编译的相关数据加密
|
||||||
|
JsCodeJSonCompilerStr = RetJSCode["JsCodeJSonCompilerStr"]
|
||||||
|
CompilerObj["JSCode"] = RetJSCode["code"]
|
||||||
|
CompilerObj["JSCode"] = JsCodeCompilertEvCode(CompilerObj["CodeType"], CompilerObj["JSCode"]);//全局事件侦听编译
|
||||||
|
CompilerObj["JSCode"] = JsCodeCompilerCodePNameAll(CompilerObj["CodeType"], CompilerObj["JSCode"]);//多层指向PName编译
|
||||||
|
CompilerObj["JSCode"] = JsCodeCompYesCodeStatic(CompilerObj["CodeType"], CompilerObj["JSCode"]);//静态命令编译
|
||||||
|
CompilerObj["JSCode"] = JsCodeCompilerClassCode(CompilerObj["CodeType"], CompilerObj["JSCode"]);//类数据编译
|
||||||
|
CompilerObj["JSCode"] = JsCodeCompilerCodeKeyword(CompilerObj["CodeType"], CompilerObj["JSCode"]);//关键字的编译
|
||||||
|
CompilerObj["JSCode"] = JsCodeCompOverallCode(CompilerObj["CodeType"], CompilerObj["JSCode"]);//全局命令编译
|
||||||
|
RetJSCode = NoStrCompiler(JsCodeJSonCompilerStr, CompilerObj["JSCode"], 2, ComPilerDataMsgType.IfComPiler, CompilerObj["FileID"]);//不参与编译的相关数据解密
|
||||||
|
CompilerObj["JSCode"] = RetJSCode["code"]
|
||||||
|
CompilerObj["JSCode"] = YesStrCompiler(CompilerObj["JSCode"], CompilerObj["CodeType"]);
|
||||||
|
//处理需要编译的NoStrCompiler代码,例如:双引号中的html代码等
|
||||||
|
CompilerObj["JSCode"] = RegularReplacer(CompilerObj["JSCode"], 2)//编译特殊符号还原
|
||||||
|
CompilerObj["JSCode"] = CompilerObj["JSCode"].replace("CompilerStartJS" + CompilerStart, "");
|
||||||
|
return CompilerObj["JSCode"];
|
||||||
|
}
|
||||||
|
//类数据编译
|
||||||
|
function JsCodeCompilerClassCode(CodeType, JSCode) {
|
||||||
|
for (let index = 0; index < JavascriptNoCodeStatic.length; index++) {
|
||||||
|
if (JSCode.includes(JavascriptNoCodeStatic[index]["T_title_en"]) || JSCode.includes(JavascriptNoCodeStatic[index]["T_title"]))//查询到代码中有这个类的关键字
|
||||||
|
{
|
||||||
|
if (CodeType == 1) {
|
||||||
|
JSCode = JsCodeReplace(JSCode, JavascriptNoCodeStatic[index]["T_title_en"], JavascriptNoCodeStatic[index]["T_title"], 1, 2);
|
||||||
|
} else {
|
||||||
|
JSCode = JsCodeReplace(JSCode, JavascriptNoCodeStatic[index]["T_title"], JavascriptNoCodeStatic[index]["T_title_en"], 1, 2);
|
||||||
|
}
|
||||||
|
if (JavascriptCompilerLineBreak.indexOf(JavascriptNoCodeStatic[index]["T_title_en"]) == -1) {
|
||||||
|
JavascriptCompilerLineBreak[JavascriptCompilerLineBreak.length] = JavascriptNoCodeStatic[index]["T_title_en"]
|
||||||
|
}
|
||||||
|
if (JavascriptCompilerLineBreak.indexOf(JavascriptNoCodeStatic[index]["T_title"]) == -1) {
|
||||||
|
JavascriptCompilerLineBreak[JavascriptCompilerLineBreak.length] = JavascriptNoCodeStatic[index]["T_title"]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
if (JavascriptNoCodeStatic[index]["CodeList"] != undefined && JavascriptNoCodeStatic[index]["CodeList"] != null) {
|
||||||
|
for (let index_ = 0; index_ < JavascriptNoCodeStatic[index]["CodeList"].length; index_++) {//循环遍历类下面的命令
|
||||||
|
let CodeData = {
|
||||||
|
T_title: "." + JavascriptNoCodeStatic[index]["CodeList"][index_]["T_title"],
|
||||||
|
T_title_en: "." + JavascriptNoCodeStatic[index]["CodeList"][index_]["T_title_en"]
|
||||||
|
}
|
||||||
|
CodeData.T_title = CodeData.T_title.replaceAll(".", Comendfofdianhaobenin)
|
||||||
|
CodeData.T_title_en = CodeData.T_title_en.replaceAll(".", Comendfofdianhaobenin)
|
||||||
|
if (CodeType == 1) {
|
||||||
|
JSCode = JsCodeReplace(JSCode, CodeData.T_title_en, CodeData.T_title, 1, 3);
|
||||||
|
} else {
|
||||||
|
JSCode = JsCodeReplace(JSCode, CodeData.T_title, CodeData.T_title_en, 1, 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return JSCode;
|
||||||
|
}
|
||||||
|
//全局侦听事件编译
|
||||||
|
function JsCodeCompilertEvCode(CodeType, JSCode) {
|
||||||
|
for (let index = 0; index < JavascriptEvCode.length; index++) {
|
||||||
|
if (JavascriptEvCode[index]["CodeList"] != undefined && JavascriptEvCode[index]["CodeList"] != null) {
|
||||||
|
for (let index_ = 0; index_ < JavascriptEvCode[index]["CodeList"].length; index_++) {//循环遍历类下面的命令
|
||||||
|
for (let index__ = 0; index__ < 6; index__++) {
|
||||||
|
let IDInt = index__ + 1;
|
||||||
|
let CodeData = {
|
||||||
|
T_title: "." + JavascriptEvCode[index]["CodeList"][index_]["com" + IDInt],
|
||||||
|
T_title_en: "." + JavascriptEvCode[index]["CodeList"][index_]["comEn" + IDInt]
|
||||||
|
}
|
||||||
|
CodeData.T_title = CodeData.T_title.replaceAll(".", Comendfofdianhaobenin)
|
||||||
|
CodeData.T_title_en = CodeData.T_title_en.replaceAll(".", Comendfofdianhaobenin)
|
||||||
|
if (CodeType == 1) {
|
||||||
|
JSCode = JsCodeReplace(JSCode, CodeData.T_title_en, CodeData.T_title, 3, 3);
|
||||||
|
} else {
|
||||||
|
JSCode = JsCodeReplace(JSCode, CodeData.T_title, CodeData.T_title_en, 3, 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return JSCode;
|
||||||
|
}
|
||||||
|
//关键字编译
|
||||||
|
//CodeType-编译的类型,1代表编译成本地语言,2代表编译成英文
|
||||||
|
function JsCodeCompilerCodeKeyword(CodeType, JSCode) {
|
||||||
|
for (let index = 0; index < JavascriptCodeKey.length; index++) {
|
||||||
|
if (JavascriptCodeKey[index]["JSType"] == "全局函数") {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (CodeType == 1) {
|
||||||
|
if (JSCode.includes(JavascriptCodeKey[index]["JSNameEN"]))//代表有需要进行处理的关键字
|
||||||
|
{
|
||||||
|
JSCode = JsCodeReplace(JSCode, JavascriptCodeKey[index]["JSNameEN"], JavascriptCodeKey[index]["JSName"], 2, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CodeType == 2) {
|
||||||
|
if (JSCode.includes(JavascriptCodeKey[index]["JSName"]))//代表有需要进行处理的关键字
|
||||||
|
{
|
||||||
|
JSCode = JsCodeReplace(JSCode, JavascriptCodeKey[index]["JSName"], JavascriptCodeKey[index]["JSNameEN"], 2, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return JSCode;
|
||||||
|
}
|
||||||
|
//静态命令编译
|
||||||
|
function JsCodeCompYesCodeStatic(CodeType, JSCode) {
|
||||||
|
for (let index = 0; index < JavascriptYesCodeStatic.length; index++) {
|
||||||
|
if (JavascriptYesCodeStatic[index]["CodeList"] != undefined && JavascriptYesCodeStatic[index]["CodeList"] != null) {
|
||||||
|
for (let index_ = 0; index_ < JavascriptYesCodeStatic[index]["CodeList"].length; index_++) {//循环遍历类下面的命令
|
||||||
|
let CodeData = {
|
||||||
|
T_title: JavascriptYesCodeStatic[index]["CodeList"][index_]["comZh"],
|
||||||
|
T_title_en: JavascriptYesCodeStatic[index]["CodeList"][index_]["comEn"]
|
||||||
|
}
|
||||||
|
if (CodeType == 1) {
|
||||||
|
if (JSCode.includes(JavascriptYesCodeStatic[index]["CodeList"][index_]["com1"]) == true) {
|
||||||
|
JSCode = JsCodeReplace(JSCode, JavascriptYesCodeStatic[index]["CodeList"][index_]["com1"], CodeData.T_title, 2, 4);
|
||||||
|
}
|
||||||
|
if (JSCode.includes(JavascriptYesCodeStatic[index]["CodeList"][index_]["com2"]) == true) {
|
||||||
|
JSCode = JsCodeReplace(JSCode, JavascriptYesCodeStatic[index]["CodeList"][index_]["com2"], CodeData.T_title, 2, 4);
|
||||||
|
}
|
||||||
|
if (JSCode.includes(JavascriptYesCodeStatic[index]["CodeList"][index_]["com3"]) == true) {
|
||||||
|
JSCode = JsCodeReplace(JSCode, JavascriptYesCodeStatic[index]["CodeList"][index_]["com3"], CodeData.T_title, 2, 4);
|
||||||
|
}
|
||||||
|
if (JSCode.includes(JavascriptYesCodeStatic[index]["CodeList"][index_]["com4"]) == true) {
|
||||||
|
JSCode = JsCodeReplace(JSCode, JavascriptYesCodeStatic[index]["CodeList"][index_]["com4"], CodeData.T_title, 2, 4);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (JSCode.includes(JavascriptYesCodeStatic[index]["CodeList"][index_]["com1"]) == true) {
|
||||||
|
JSCode = JsCodeReplace(JSCode, JavascriptYesCodeStatic[index]["CodeList"][index_]["com1"], CodeData.T_title_en, 2, 4);
|
||||||
|
}
|
||||||
|
if (JSCode.includes(JavascriptYesCodeStatic[index]["CodeList"][index_]["com2"]) == true) {
|
||||||
|
JSCode = JsCodeReplace(JSCode, JavascriptYesCodeStatic[index]["CodeList"][index_]["com2"], CodeData.T_title_en, 2, 4);
|
||||||
|
}
|
||||||
|
if (JSCode.includes(JavascriptYesCodeStatic[index]["CodeList"][index_]["com3"]) == true) {
|
||||||
|
JSCode = JsCodeReplace(JSCode, JavascriptYesCodeStatic[index]["CodeList"][index_]["com3"], CodeData.T_title_en, 2, 4);
|
||||||
|
}
|
||||||
|
if (JSCode.includes(JavascriptYesCodeStatic[index]["CodeList"][index_]["com4"]) == true) {
|
||||||
|
JSCode = JsCodeReplace(JSCode, JavascriptYesCodeStatic[index]["CodeList"][index_]["com4"], CodeData.T_title_en, 2, 4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return JSCode;
|
||||||
|
}
|
||||||
|
//全局命令编译
|
||||||
|
function JsCodeCompOverallCode(CodeType, JSCode) {
|
||||||
|
for (let index = 0; index < JavascriptOverallCode.length; index++) {
|
||||||
|
let CodeData = {
|
||||||
|
T_title: JavascriptOverallCode[index]["T_title"],
|
||||||
|
T_title_en: JavascriptOverallCode[index]["T_title_en"]
|
||||||
|
}
|
||||||
|
if (CodeType == 1) {
|
||||||
|
JSCode = JsCodeReplace(JSCode, CodeData.T_title_en, CodeData.T_title, 2, 5);
|
||||||
|
} else {
|
||||||
|
JSCode = JsCodeReplace(JSCode, CodeData.T_title, CodeData.T_title_en, 2, 5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return JSCode;
|
||||||
|
}
|
||||||
|
//多层PName命令编译
|
||||||
|
function JsCodeCompilerCodePNameAll(CodeType, JSCode) {
|
||||||
|
for (let index = 0; index < JavascriptCompilationPNameAll.length; index++) {
|
||||||
|
if (JSCode.includes(JavascriptCompilationPNameAll[index]["com1"]) == true || JSCode.includes(JavascriptCompilationPNameAll[index]["com2"]) == true) {
|
||||||
|
if (CodeType == 1) {
|
||||||
|
JSCode = JsCodeReplace(JSCode, JavascriptCompilationPNameAll[index]["com1"], JavascriptCompilationPNameAll[index]["comEnd2"], 2, 3);
|
||||||
|
JSCode = JsCodeReplace(JSCode, JavascriptCompilationPNameAll[index]["com2"], JavascriptCompilationPNameAll[index]["comEnd2"], 2, 3);
|
||||||
|
} else {
|
||||||
|
JSCode = JsCodeReplace(JSCode, JavascriptCompilationPNameAll[index]["com1"], JavascriptCompilationPNameAll[index]["comEnd1"], 2, 3);
|
||||||
|
JSCode = JsCodeReplace(JSCode, JavascriptCompilationPNameAll[index]["com2"], JavascriptCompilationPNameAll[index]["comEnd1"], 2, 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return JSCode;
|
||||||
|
}
|
||||||
|
//Type-1代表替换转变,2代表转变还原
|
||||||
|
function RegularReplacer(code, Type) {
|
||||||
|
if (Type == 1) {
|
||||||
|
code = code.replaceAll("${", ComSymbol$FOFStuDio);//编译条件点号转编译内容
|
||||||
|
code = code.replaceAll(".", Comendfofdianhaobenin);//编译条件点号转编译内容
|
||||||
|
}
|
||||||
|
if (Type == 2) {
|
||||||
|
code = code.replaceAll(Comendfofdianhaobenin, ".");//编译条件点号转编译内容
|
||||||
|
code = code.replaceAll(ComSymbol$FOFStuDio, "${");//编译条件点号转编译内容
|
||||||
|
}
|
||||||
|
return code
|
||||||
|
}
|
84
js/JavaScript/CompilerJavaScriptCodeReplace.js
Normal file
84
js/JavaScript/CompilerJavaScriptCodeReplace.js
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
//用来进行JS命令的替换编译,本方法不能独立使用,通常用来配合JsCodeCompiler命令
|
||||||
|
//参数1【JSCode】为整体的JS代码
|
||||||
|
//参数2【JSCodeKeyword】为需要编译的关键字
|
||||||
|
//参数3【regCompilerCode】为需要替换编译为的内容
|
||||||
|
//参数4【ifendfofdianhaobenin】【只针对命令有效】,1需要加点编译【针对普通命令】;2常规编译,不加点;3代表不需要正则,直接替换
|
||||||
|
//参数5【ReplaceType】为编译类型,1代表关键字,2代表类,3代表命令,4代表静态命令【类.xxx】,5代表全局静态命令
|
||||||
|
function JsCodeReplace(JSCode, JSCodeKeyword, regCompilerCode, ifendfofdianhaobenin, ReplaceType) {
|
||||||
|
let JSCodeStr = JSCode;
|
||||||
|
JSCodeStr = JSCodeStr + "\r\nBeginEnd" + CompilerIdentificationText;//给代码结尾加上标识符,防止因为结尾代码【代码最后面没有内容】而造成编译失效
|
||||||
|
if (ifendfofdianhaobenin == 3) {
|
||||||
|
JSCodeStr = JSCodeStr.replaceAll(JSCodeKeyword, regCompilerCode)
|
||||||
|
}
|
||||||
|
if (ReplaceType == 1 || ReplaceType == 2) {
|
||||||
|
//当编译类型为关键字或者类的时候;将点号进行一次替换,替换为一段不会重复的文本
|
||||||
|
JSCodeStr = JSCodeStr.replaceAll(Comendfofdianhaobenin, CompilerIdentificationText);
|
||||||
|
}
|
||||||
|
if (ifendfofdianhaobenin == 1 || ifendfofdianhaobenin == 2) {
|
||||||
|
if (ReplaceType == 3 && ifendfofdianhaobenin == 1) {
|
||||||
|
if (JSCodeStr.includes(Comendfofdianhaobenin)) {
|
||||||
|
JSCodeStr = JSCodeStr.replace(new RegExp(Comendfofdianhaobenin, 'gm'), "-endfofdianhaobenin");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (JSCodeStr == regCompilerCode) {//判断是否是直接一样的内容,一样就直接匹配替换
|
||||||
|
JSCodeStr = regCompilerCode;
|
||||||
|
return JSCodeStr;
|
||||||
|
}
|
||||||
|
let JSCodeStrOriginal = JSCodeStr;
|
||||||
|
if (JSCodeStrOriginal.includes(JSCodeKeyword)) {
|
||||||
|
let RegExpObj = windowJsCodeReplace(JSCodeStrOriginal, JSCodeKeyword, regCompilerCode, ifendfofdianhaobenin, ReplaceType)
|
||||||
|
if (RegExpObj["JSCodeStrArr"]) {
|
||||||
|
if (RegExpObj["JSCodeStrArr"].length >= 1) {
|
||||||
|
regCompilerCode = RegExpObj["regCompilerCode"]
|
||||||
|
let regCompilerCodeArr = [StrCodeUuid(regCompilerCode), regCompilerCode];
|
||||||
|
JSCodeStr = JSCodeStr.replace(RegExpObj["RegExp"], regCompilerCodeArr[0]);
|
||||||
|
for (let index = 0; index < RegExpObj["JSCodeStrArr"].length; index++) {
|
||||||
|
let FirstText = RegExpObj["JSCodeStrArr"][index].substring(0, 1);
|
||||||
|
JSCodeStr = JSCodeStr.replace(regCompilerCodeArr[0], FirstText + regCompilerCodeArr[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
JSCodeStr = JSCodeStr.replaceAll("\r\nBeginEnd" + CompilerIdentificationText, "");//将添加上的结尾代码删除
|
||||||
|
if (ReplaceType == 1 || ReplaceType == 2) {
|
||||||
|
//将被替换的文本还原成点号
|
||||||
|
JSCodeStr = JSCodeStr.replaceAll(CompilerIdentificationText, Comendfofdianhaobenin);
|
||||||
|
}
|
||||||
|
if (ReplaceType == 3 && ifendfofdianhaobenin == 1) {
|
||||||
|
if (JSCodeStr.includes("-endfofdianhaobenin")) {
|
||||||
|
JSCodeStr = JSCodeStr.replace(new RegExp("-endfofdianhaobenin", 'gm'), Comendfofdianhaobenin);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return JSCodeStr;
|
||||||
|
}
|
||||||
|
function windowJsCodeReplace(JSCodeStrOriginal, JSCodeKeyword, regCompilerCode, ifendfofdianhaobenin, ReplaceType) {
|
||||||
|
let JSCodeStrArr = JSCodeStrOriginal.match(new RegExp("(?=[^0-9a-zA-Z\u4e00-\u9fa5_])[^0-9a-zA-Z\u4e00-\u9fa5_]" + JSCodeKeyword + "(?=[^0-9a-zA-Z\u4e00-\u9fa5_])", "g"));
|
||||||
|
if (JSCodeStrArr == null && ifendfofdianhaobenin == 2 && ReplaceType == 4) {
|
||||||
|
if (JSCodeStrOriginal.includes("浏览器窗口" + Comendfofdianhaobenin + JSCodeKeyword)) {
|
||||||
|
JSCodeStrArr = JSCodeStrOriginal.match(new RegExp("(?=[^0-9a-zA-Z\u4e00-\u9fa5_])[^0-9a-zA-Z\u4e00-\u9fa5_]" + "浏览器窗口" + Comendfofdianhaobenin + JSCodeKeyword + "(?=[^0-9a-zA-Z\u4e00-\u9fa5_])", "g"));
|
||||||
|
if (JSCodeStrArr != null) {
|
||||||
|
return {
|
||||||
|
"JSCodeStrArr": JSCodeStrArr,
|
||||||
|
"RegExp": new RegExp("(?=[^0-9a-zA-Z\u4e00-\u9fa5_])[^0-9a-zA-Z\u4e00-\u9fa5_]" + "浏览器窗口" + Comendfofdianhaobenin + JSCodeKeyword + "(?=[^0-9a-zA-Z\u4e00-\u9fa5_])", "g"),
|
||||||
|
"regCompilerCode": "浏览器窗口" + Comendfofdianhaobenin + regCompilerCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (JSCodeStrArr == null && ifendfofdianhaobenin == 2 && ReplaceType == 4) {
|
||||||
|
if (JSCodeStrOriginal.includes("window" + Comendfofdianhaobenin + JSCodeKeyword)) {
|
||||||
|
JSCodeStrArr = JSCodeStrOriginal.match(new RegExp("(?=[^0-9a-zA-Z\u4e00-\u9fa5_])[^0-9a-zA-Z\u4e00-\u9fa5_]" + "window" + Comendfofdianhaobenin + JSCodeKeyword + "(?=[^0-9a-zA-Z\u4e00-\u9fa5_])", "g"));
|
||||||
|
return {
|
||||||
|
"JSCodeStrArr": JSCodeStrArr,
|
||||||
|
"RegExp": new RegExp("(?=[^0-9a-zA-Z\u4e00-\u9fa5_])[^0-9a-zA-Z\u4e00-\u9fa5_]" + "window" + Comendfofdianhaobenin + JSCodeKeyword + "(?=[^0-9a-zA-Z\u4e00-\u9fa5_])", "g"),
|
||||||
|
"regCompilerCode": "window" + Comendfofdianhaobenin + regCompilerCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
"JSCodeStrArr": JSCodeStrArr,
|
||||||
|
"RegExp": new RegExp("(?=[^0-9a-zA-Z\u4e00-\u9fa5_])[^0-9a-zA-Z\u4e00-\u9fa5_]" + JSCodeKeyword + "(?=[^0-9a-zA-Z\u4e00-\u9fa5_])", "g"),
|
||||||
|
"regCompilerCode": regCompilerCode
|
||||||
|
};
|
||||||
|
}
|
580
js/JavaScript/CompilerJavaScriptJQ.js
Normal file
580
js/JavaScript/CompilerJavaScriptJQ.js
Normal file
@@ -0,0 +1,580 @@
|
|||||||
|
//CodeType-参数2编译的类型;1代表编译成本地语言,2代表编译成英文
|
||||||
|
function JsCodeCompilerCodeJQ(CodeType, JSCode) {
|
||||||
|
JSCode = JsCodeCompilerJQselector(CodeType, JSCode);
|
||||||
|
JSCode = JsCodeCompilerJQFun(CodeType, JSCode);
|
||||||
|
if (CodeType == 1) {
|
||||||
|
JSCode = JsCodeCompilerJQHtml_Zh(JSCode)
|
||||||
|
} else {
|
||||||
|
JSCode = JsCodeCompilerJQHtml_En(JSCode)
|
||||||
|
}
|
||||||
|
return JSCode;
|
||||||
|
}
|
||||||
|
function JsCodeCompilerJQHtml_En(JSCode) {
|
||||||
|
for (let index = 0; index < JSON3_All.length; index++) {
|
||||||
|
let Title = [JSON3_All[index]["title"], JSON3_All[index]["title"]]
|
||||||
|
Title[1] = Title[1].replace("<", "");
|
||||||
|
Title[1] = Title[1].replace(">", "");
|
||||||
|
Title[1] = Title[1].replace("!", "");
|
||||||
|
let Title_en = [JSON3_All[index]["title_en"], JSON3_All[index]["title_en"]]
|
||||||
|
Title_en[1] = Title_en[1].replace("<", "");
|
||||||
|
Title_en[1] = Title_en[1].replace(">", "");
|
||||||
|
Title_en[1] = Title_en[1].replace("!", "");
|
||||||
|
if (JSCode.includes("$(\"" + Title[0] + "\")") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title[0] + "\")", "$(\"" + Title_en[0] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$('" + Title[0] + "')") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title[0] + "')", "$('" + Title_en[0] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(`" + Title[0] + "`)") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title[0] + "`)", "$(`" + Title_en[0] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$(\" " + Title[0] + "\")") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title[0] + "\")", "$(\"" + Title_en[0] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(' " + Title[0] + "')") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title[0] + "')", "$('" + Title_en[0] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(` " + Title[0] + "`)") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title[0] + "`)", "$(`" + Title_en[0] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$( \"" + Title[0] + "\")") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title[0] + "\")", "$(\"" + Title_en[0] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$( '" + Title[0] + "')") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title[0] + "')", "$('" + Title_en[0] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$( `" + Title[0] + "`)") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title[0] + "`)", "$(`" + Title_en[0] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$(\"" + Title[0] + " \")") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title[0] + "\")", "$(\"" + Title_en[0] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$('" + Title[0] + " ')") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title[0] + "')", "$('" + Title_en[0] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(`" + Title[0] + " `)") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title[0] + "`)", "$(`" + Title_en[0] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$(\" " + Title[0] + " \")") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title[0] + "\")", "$(\"" + Title_en[0] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(' " + Title[0] + " ')") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title[0] + "')", "$('" + Title_en[0] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(` " + Title[0] + " `)") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title[0] + "`)", "$(`" + Title_en[0] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$( \"" + Title[0] + "\" )") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title[0] + "\")", "$(\"" + Title_en[0] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$( '" + Title[0] + "' )") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title[0] + "')", "$('" + Title_en[0] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$( `" + Title[0] + "` )") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title[0] + "`)", "$(`" + Title_en[0] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$( \"" + Title[0] + " \")") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title[0] + "\")", "$(\"" + Title_en[0] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$( '" + Title[0] + " ')") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title[0] + "')", "$('" + Title_en[0] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$( `" + Title[0] + " `)") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title[0] + "`)", "$(`" + Title_en[0] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$(\"" + Title[0] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title[0] + " ", "$(\"" + Title_en[0] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$('" + Title[0] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title[0] + " ", "$('" + Title_en[0] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(`" + Title[0] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title[0] + " ", "$(`" + Title_en[0] + " ")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$( \"" + Title[0] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$( \"" + Title[0] + " ", "$( \"" + Title_en[0] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$( '" + Title[0] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$( '" + Title[0] + " ", "$( '" + Title_en[0] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$( `" + Title[0] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$( `" + Title[0] + " ", "$( `" + Title_en[0] + " ")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$(\" " + Title[0] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\" " + Title[0] + " ", "$(\" " + Title_en[0] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(' " + Title[0] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(' " + Title[0] + " ", "$(' " + Title_en[0] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(` " + Title[0] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(` " + Title[0] + " ", "$(` " + Title_en[0] + " ")
|
||||||
|
}
|
||||||
|
|
||||||
|
//==========
|
||||||
|
|
||||||
|
if (JSCode.includes("$(\"" + Title[1] + "\")") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title[1] + "\")", "$(\"" + Title_en[1] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$('" + Title[1] + "')") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title[1] + "')", "$('" + Title_en[1] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(`" + Title[1] + "`)") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title[1] + "`)", "$(`" + Title_en[1] + "`)")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(" + Title[1] + ")") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(" + Title[1] + ")", "$(" + Title_en[1] + ")")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$(\" " + Title[1] + "\")") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title[1] + "\")", "$(\"" + Title_en[1] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(' " + Title[1] + "')") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title[1] + "')", "$('" + Title_en[1] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(` " + Title[1] + "`)") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title[1] + "`)", "$(`" + Title_en[1] + "`)")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$( " + Title[1] + ")") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(" + Title[1] + ")", "$(" + Title_en[1] + ")")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$( \"" + Title[1] + "\")") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title[1] + "\")", "$(\"" + Title_en[1] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$( '" + Title[1] + "')") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title[1] + "')", "$('" + Title_en[1] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$( `" + Title[1] + "`)") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title[1] + "`)", "$(`" + Title_en[1] + "`)")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(" + Title[1] + " )") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(" + Title[1] + ")", "$(" + Title_en[1] + ")")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$(\"" + Title[1] + " \")") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title[1] + "\")", "$(\"" + Title_en[1] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$('" + Title[1] + " ')") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title[1] + "')", "$('" + Title_en[1] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(`" + Title[1] + " `)") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title[1] + "`)", "$(`" + Title_en[1] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$(\" " + Title[1] + " \")") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title[1] + "\")", "$(\"" + Title_en[1] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(' " + Title[1] + " ')") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title[1] + "')", "$('" + Title_en[1] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(` " + Title[1] + " `)") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title[1] + "`)", "$(`" + Title_en[1] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$( \"" + Title[1] + "\" )") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title[1] + "\")", "$(\"" + Title_en[1] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$( '" + Title[1] + "' )") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title[1] + "')", "$('" + Title_en[1] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$( `" + Title[1] + "` )") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title[1] + "`)", "$(`" + Title_en[1] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$( \"" + Title[1] + " \")") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title[1] + "\")", "$(\"" + Title_en[1] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$( '" + Title[1] + " ')") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title[1] + "')", "$('" + Title_en[1] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$( `" + Title[1] + " `)") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title[1] + "`)", "$(`" + Title_en[1] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$(\"" + Title[1] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title[1] + " ", "$(\"" + Title_en[1] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$('" + Title[1] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title[1] + " ", "$('" + Title_en[1] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(`" + Title[1] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title[1] + " ", "$(`" + Title_en[1] + " ")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$( \"" + Title[1] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$( \"" + Title[1] + " ", "$( \"" + Title_en[1] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$( '" + Title[1] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$( '" + Title[1] + " ", "$( '" + Title_en[1] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$( `" + Title[1] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$( `" + Title[1] + " ", "$( `" + Title_en[1] + " ")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.includes("$(\" " + Title[1] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\" " + Title[1] + " ", "$(\" " + Title_en[1] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(' " + Title[1] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(' " + Title[1] + " ", "$(' " + Title_en[1] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.includes("$(` " + Title[1] + " ") == true) {
|
||||||
|
JSCode = JSCode.replaceAll("$(` " + Title[1] + " ", "$(` " + Title_en[1] + " ")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return JSCode;
|
||||||
|
}
|
||||||
|
function JsCodeCompilerJQHtml_Zh(JSCode) {
|
||||||
|
for (let index = 0; index < JSON3_All.length; index++) {
|
||||||
|
let Title = [JSON3_All[index]["title"], JSON3_All[index]["title"]]
|
||||||
|
Title[1] = Title[1].replace("<", "");
|
||||||
|
Title[1] = Title[1].replace(">", "");
|
||||||
|
Title[1] = Title[1].replace("!", "");
|
||||||
|
let Title_en = [JSON3_All[index]["title_en"], JSON3_All[index]["title_en"]]
|
||||||
|
Title_en[1] = Title_en[1].replace("<", "");
|
||||||
|
Title_en[1] = Title_en[1].replace(">", "");
|
||||||
|
Title_en[1] = Title_en[1].replace("!", "");
|
||||||
|
if (JSCode.indexOf("$(\"" + Title_en[0] + "\")") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title_en[0] + "\")", "$(\"" + Title[0] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$('" + Title_en[0] + "')") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title_en[0] + "')", "$('" + Title[0] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(`" + Title_en[0] + "`)") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title_en[0] + "`)", "$(`" + Title[0] + "`)")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(" + Title_en[0] + ")") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(" + Title_en[0] + ")", "$(" + Title[0] + ")")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$(\" " + Title_en[0] + "\")") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title_en[0] + "\")", "$(\"" + Title[0] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(' " + Title_en[0] + "')") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title_en[0] + "')", "$('" + Title[0] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(` " + Title_en[0] + "`)") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title_en[0] + "`)", "$(`" + Title[0] + "`)")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( " + Title_en[0] + ")") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(" + Title_en[0] + ")", "$(" + Title[0] + ")")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$( \"" + Title_en[0] + "\")") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title_en[0] + "\")", "$(\"" + Title[0] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( '" + Title_en[0] + "')") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title_en[0] + "')", "$('" + Title[0] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( `" + Title_en[0] + "`)") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title_en[0] + "`)", "$(`" + Title[0] + "`)")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(" + Title_en[0] + " )") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(" + Title_en[0] + ")", "$(" + Title[0] + ")")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$(\"" + Title_en[0] + " \")") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title_en[0] + "\")", "$(\"" + Title[0] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$('" + Title_en[0] + " ')") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title_en[0] + "')", "$('" + Title[0] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(`" + Title_en[0] + " `)") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title_en[0] + "`)", "$(`" + Title[0] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$(\" " + Title_en[0] + " \")") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title_en[0] + "\")", "$(\"" + Title[0] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(' " + Title_en[0] + " ')") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title_en[0] + "')", "$('" + Title[0] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(` " + Title_en[0] + " `)") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title_en[0] + "`)", "$(`" + Title[0] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$( \"" + Title_en[0] + "\" )") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title_en[0] + "\")", "$(\"" + Title[0] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( '" + Title_en[0] + "' )") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title_en[0] + "')", "$('" + Title[0] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( `" + Title_en[0] + "` )") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title_en[0] + "`)", "$(`" + Title[0] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$( \"" + Title_en[0] + " \")") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title_en[0] + "\")", "$(\"" + Title[0] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( '" + Title_en[0] + " ')") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title_en[0] + "')", "$('" + Title[0] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( `" + Title_en[0] + " `)") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title_en[0] + "`)", "$(`" + Title[0] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$(\"" + Title_en[0] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title_en[0] + " ", "$(\"" + Title[0] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$('" + Title_en[0] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title_en[0] + " ", "$('" + Title[0] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(`" + Title_en[0] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title_en[0] + " ", "$(`" + Title[0] + " ")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$( \"" + Title_en[0] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$( \"" + Title_en[0] + " ", "$( \"" + Title[0] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( '" + Title_en[0] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$( '" + Title_en[0] + " ", "$( '" + Title[0] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( `" + Title_en[0] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$( `" + Title_en[0] + " ", "$( `" + Title[0] + " ")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$(\" " + Title_en[0] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\" " + Title_en[0] + " ", "$(\" " + Title[0] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(' " + Title_en[0] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(' " + Title_en[0] + " ", "$(' " + Title[0] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(` " + Title_en[0] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(` " + Title_en[0] + " ", "$(` " + Title[0] + " ")
|
||||||
|
}
|
||||||
|
|
||||||
|
//==========
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$(\"" + Title_en[1] + "\")") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title_en[1] + "\")", "$(\"" + Title[1] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$('" + Title_en[1] + "')") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title_en[1] + "')", "$('" + Title[1] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(`" + Title_en[1] + "`)") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title_en[1] + "`)", "$(`" + Title[1] + "`)")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(" + Title_en[1] + ")") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(" + Title_en[1] + ")", "$(" + Title[1] + ")")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$(\" " + Title_en[1] + "\")") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title_en[1] + "\")", "$(\"" + Title[1] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(' " + Title_en[1] + "')") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title_en[1] + "')", "$('" + Title[1] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(` " + Title_en[1] + "`)") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title_en[1] + "`)", "$(`" + Title[1] + "`)")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( " + Title_en[1] + ")") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(" + Title_en[1] + ")", "$(" + Title[1] + ")")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$( \"" + Title_en[1] + "\")") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title_en[1] + "\")", "$(\"" + Title[1] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( '" + Title_en[1] + "')") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title_en[1] + "')", "$('" + Title[1] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( `" + Title_en[1] + "`)") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title_en[1] + "`)", "$(`" + Title[1] + "`)")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(" + Title_en[1] + " )") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(" + Title_en[1] + ")", "$(" + Title[1] + ")")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$(\"" + Title_en[1] + " \")") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title_en[1] + "\")", "$(\"" + Title[1] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$('" + Title_en[1] + " ')") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title_en[1] + "')", "$('" + Title[1] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(`" + Title_en[1] + " `)") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title_en[1] + "`)", "$(`" + Title[1] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$(\" " + Title_en[1] + " \")") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title_en[1] + "\")", "$(\"" + Title[1] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(' " + Title_en[1] + " ')") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title_en[1] + "')", "$('" + Title[1] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(` " + Title_en[1] + " `)") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title_en[1] + "`)", "$(`" + Title[1] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$( \"" + Title_en[1] + "\" )") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title_en[1] + "\")", "$(\"" + Title[1] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( '" + Title_en[1] + "' )") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title_en[1] + "')", "$('" + Title[1] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( `" + Title_en[1] + "` )") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title_en[1] + "`)", "$(`" + Title[1] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$( \"" + Title_en[1] + " \")") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title_en[1] + "\")", "$(\"" + Title[1] + "\")")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( '" + Title_en[1] + " ')") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title_en[1] + "')", "$('" + Title[1] + "')")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( `" + Title_en[1] + " `)") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title_en[1] + "`)", "$(`" + Title[1] + "`)")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$(\"" + Title_en[1] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\"" + Title_en[1] + " ", "$(\"" + Title[1] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$('" + Title_en[1] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$('" + Title_en[1] + " ", "$('" + Title[1] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(`" + Title_en[1] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(`" + Title_en[1] + " ", "$(`" + Title[1] + " ")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$( \"" + Title_en[1] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$( \"" + Title_en[1] + " ", "$( \"" + Title[1] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( '" + Title_en[1] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$( '" + Title_en[1] + " ", "$( '" + Title[1] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$( `" + Title_en[1] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$( `" + Title_en[1] + " ", "$( `" + Title[1] + " ")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (JSCode.indexOf("$(\" " + Title_en[1] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(\" " + Title_en[1] + " ", "$(\" " + Title[1] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(' " + Title_en[1] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(' " + Title_en[1] + " ", "$(' " + Title[1] + " ")
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf("$(` " + Title_en[1] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll("$(` " + Title_en[1] + " ", "$(` " + Title[1] + " ")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return JSCode;
|
||||||
|
}
|
||||||
|
//JQ专属方法的编译
|
||||||
|
function JsCodeCompilerJQFun(CodeType, JSCode) {
|
||||||
|
//编译第一步:实现将$(和$. 全局替换成一个唯一的字符
|
||||||
|
let JQObjCode = [StrCodeUuid("$("), StrCodeUuid("$" + Comendfofdianhaobenin)];
|
||||||
|
let JQObjCode2 = ["$(", "$" + Comendfofdianhaobenin];
|
||||||
|
JSCode = JSCode.replaceAll(JQObjCode2[0], JQObjCode[0]);
|
||||||
|
JSCode = JSCode.replaceAll(JQObjCode2[1], JQObjCode[1]);
|
||||||
|
if (JSCode.indexOf(JQObjCode[0]) != -1) {
|
||||||
|
let JSCodeJsMatchArr = TakeTheMiddleOfTheTextAll(JSCode, JQObjCode[0], "\\)")
|
||||||
|
if (JSCodeJsMatchArr) {
|
||||||
|
for (let index = 0; index < JSCodeJsMatchArr.length; index++) {
|
||||||
|
for (let JsonJSCodeJQindex = 0; JsonJSCodeJQindex < JsonJSCodeJQ.length; JsonJSCodeJQindex++) {
|
||||||
|
if (JSCode.indexOf(JsonJSCodeJQ[JsonJSCodeJQindex]["code1"]) == -1 && JSCode.indexOf(JsonJSCodeJQ[JsonJSCodeJQindex]["code2"]) == -1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (JavascriptCompilerLineBreak.indexOf(JSCodeJsMatchArr[index]) == -1) {
|
||||||
|
JavascriptCompilerLineBreak[JavascriptCompilerLineBreak.length] = JSCodeJsMatchArr[index];
|
||||||
|
}
|
||||||
|
let regCompilerCodeArr
|
||||||
|
if (CodeType == 1) {
|
||||||
|
regCompilerCodeArr = [JsonJSCodeJQ[JsonJSCodeJQindex]["code2"], JsonJSCodeJQ[JsonJSCodeJQindex]["code1"]];
|
||||||
|
} else {
|
||||||
|
regCompilerCodeArr = [JsonJSCodeJQ[JsonJSCodeJQindex]["code1"], JsonJSCodeJQ[JsonJSCodeJQindex]["code2"]];
|
||||||
|
}
|
||||||
|
JSCode = JSCode.replaceAll(JSCodeJsMatchArr[index] + Comendfofdianhaobenin + regCompilerCodeArr[0] + "(", JSCodeJsMatchArr[index] + Comendfofdianhaobenin + regCompilerCodeArr[1] + "(");
|
||||||
|
JSCode = JSCode.replaceAll(JSCodeJsMatchArr[index] + Comendfofdianhaobenin + regCompilerCodeArr[0] + " ", JSCodeJsMatchArr[index] + Comendfofdianhaobenin + regCompilerCodeArr[1] + " ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (let index = 0; index < JsonJSCodeJQ.length; index++) {
|
||||||
|
if (JSCode.indexOf(JsonJSCodeJQ[index]["code1"]) == -1 && JSCode.indexOf(JsonJSCodeJQ[index]["code2"]) == -1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
let regCompilerCodeArr = []
|
||||||
|
if (CodeType == 1) {
|
||||||
|
regCompilerCodeArr = [JsonJSCodeJQ[index]["code2"], JsonJSCodeJQ[index]["code1"]];
|
||||||
|
} else {
|
||||||
|
regCompilerCodeArr = [JsonJSCodeJQ[index]["code1"], JsonJSCodeJQ[index]["code2"]];
|
||||||
|
}
|
||||||
|
JSCode = JSCode.replaceAll(JQObjCode[1] + regCompilerCodeArr[0] + "(", JQObjCode[1] + regCompilerCodeArr[1] + "(");
|
||||||
|
JSCode = JSCode.replaceAll(JQObjCode[1] + regCompilerCodeArr[0] + " ", JQObjCode[1] + regCompilerCodeArr[1] + " ");
|
||||||
|
for (let index2 = 0; index2 < JsonJSCodeJQ.length; index2++) {
|
||||||
|
let JsonJSCodeJQArr = []
|
||||||
|
if (JSCode.indexOf(JsonJSCodeJQ[index2]["code1"] + "(") != -1) {
|
||||||
|
JsonJSCodeJQArr = TakeTheMiddleOfTheTextAll(JSCode, JsonJSCodeJQ[index2]["code1"] + "\\(", "\\)");
|
||||||
|
if (JsonJSCodeJQArr) {
|
||||||
|
//添加HTML样式类("li")
|
||||||
|
for (let index3 = 0; index3 < JsonJSCodeJQArr.length; index3++) {
|
||||||
|
if (JSCode.indexOf(JsonJSCodeJQArr[index3] + Comendfofdianhaobenin + regCompilerCodeArr[0] + "(") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll(JsonJSCodeJQArr[index3] + Comendfofdianhaobenin + regCompilerCodeArr[0] + "(", JsonJSCodeJQArr[index3] + Comendfofdianhaobenin + regCompilerCodeArr[1] + "(");
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf(JsonJSCodeJQArr[index3] + Comendfofdianhaobenin + regCompilerCodeArr[0] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll(JsonJSCodeJQArr[index3] + Comendfofdianhaobenin + regCompilerCodeArr[0] + " ", JsonJSCodeJQArr[index3] + Comendfofdianhaobenin + regCompilerCodeArr[1] + " ");
|
||||||
|
}
|
||||||
|
if (JavascriptCompilerLineBreak.indexOf(JsonJSCodeJQArr[index3]) == -1) {
|
||||||
|
JavascriptCompilerLineBreak[JavascriptCompilerLineBreak.length] = JsonJSCodeJQArr[index3];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf(JsonJSCodeJQ[index2]["code2"] + "(") != -1) {
|
||||||
|
JsonJSCodeJQArr = TakeTheMiddleOfTheTextAll(JSCode, JsonJSCodeJQ[index2]["code2"] + "\\(", "\\)");
|
||||||
|
if (JsonJSCodeJQArr) {
|
||||||
|
for (let index3 = 0; index3 < JsonJSCodeJQArr.length; index3++) {
|
||||||
|
if (JSCode.indexOf(JsonJSCodeJQArr[index3] + Comendfofdianhaobenin + regCompilerCodeArr[0] + "(") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll(JsonJSCodeJQArr[index3] + Comendfofdianhaobenin + regCompilerCodeArr[0] + "(", JsonJSCodeJQArr[index3] + Comendfofdianhaobenin + regCompilerCodeArr[1] + "(");
|
||||||
|
}
|
||||||
|
if (JSCode.indexOf(JsonJSCodeJQArr[index3] + Comendfofdianhaobenin + regCompilerCodeArr[0] + " ") != -1) {
|
||||||
|
JSCode = JSCode.replaceAll(JsonJSCodeJQArr[index3] + Comendfofdianhaobenin + regCompilerCodeArr[0] + " ", JsonJSCodeJQArr[index3] + Comendfofdianhaobenin + regCompilerCodeArr[1] + " ");
|
||||||
|
}
|
||||||
|
if (JavascriptCompilerLineBreak.indexOf(JsonJSCodeJQArr[index3]) == -1) {
|
||||||
|
JavascriptCompilerLineBreak[JavascriptCompilerLineBreak.length] = JsonJSCodeJQArr[index3];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
JavascriptCompilerLineBreak = JSON.stringify(JavascriptCompilerLineBreak);
|
||||||
|
JavascriptCompilerLineBreak = JavascriptCompilerLineBreak.replaceAll(JQObjCode[0], JQObjCode2[0])
|
||||||
|
JavascriptCompilerLineBreak = JavascriptCompilerLineBreak.replaceAll(JQObjCode[1], JQObjCode2[1])
|
||||||
|
JavascriptCompilerLineBreak = JSON.parse(JavascriptCompilerLineBreak);
|
||||||
|
JSCode = JSCode.replaceAll(JQObjCode[0], JQObjCode2[0]);
|
||||||
|
JSCode = JSCode.replaceAll(JQObjCode[1], JQObjCode2[1]);
|
||||||
|
return JSCode;
|
||||||
|
}
|
||||||
|
//JQ选择器支持
|
||||||
|
function JsCodeCompilerJQselector(CodeType, JSCode) {
|
||||||
|
JSCode = JSCode.replaceAll(Comendfofdianhaobenin, ".")
|
||||||
|
//编译第一步:实现将$(和$. 全局替换成一个唯一的字符
|
||||||
|
let JQObjCode = [StrCodeUuid("$("), StrCodeUuid("$" + Comendfofdianhaobenin)];
|
||||||
|
let JQObjCode2 = ["$(", "$" + Comendfofdianhaobenin];
|
||||||
|
JSCode = JSCode.replaceAll(JQObjCode2[0], JQObjCode[0]);
|
||||||
|
JSCode = JSCode.replaceAll(JQObjCode2[1], JQObjCode[1]);
|
||||||
|
let JSCodeJsMatchArr = TakeTheMiddleOfTheTextAll(JSCode, JQObjCode[0], "\\)")
|
||||||
|
if (JSCodeJsMatchArr) {
|
||||||
|
for (let index = 0; index < JSCodeJsMatchArr.length; index++) {
|
||||||
|
let CodeStr = JSCodeJsMatchArr[index];
|
||||||
|
CodeStr = CodeStr.replaceAll("\"", " FOFSTUDIO" + ComShuangYinHaoFOFStuDion)
|
||||||
|
CodeStr = CodeStr.replaceAll("'", " FOFSTUDIO" + ComDanYinHaoFOFStuDion)
|
||||||
|
CodeStr = CodeStr.replaceAll("`", " FOFSTUDIO" + ComFanYinHaoFOFStuDion)
|
||||||
|
CodeStr = CssCodeCompiler(CodeStr, CodeType);
|
||||||
|
CodeStr = CodeStr.replaceAll(" FOFSTUDIO" + ComShuangYinHaoFOFStuDion, "\"")
|
||||||
|
CodeStr = CodeStr.replaceAll(" FOFSTUDIO" + ComDanYinHaoFOFStuDion, "'")
|
||||||
|
CodeStr = CodeStr.replaceAll(" FOFSTUDIO" + ComFanYinHaoFOFStuDion, "`")
|
||||||
|
JSCode = JSCode.replaceAll(JSCodeJsMatchArr[index], CodeStr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
JSCode = JSCode.replaceAll(JQObjCode[0], JQObjCode2[0]);
|
||||||
|
JSCode = JSCode.replaceAll(JQObjCode[1], JQObjCode2[1]);
|
||||||
|
JSCode = JSCode.replaceAll(".", Comendfofdianhaobenin)
|
||||||
|
return JSCode;
|
||||||
|
}
|
170
js/JavaScript/NoStrCompiler/CompilerJavaScriptNoStrCompiler.js
Normal file
170
js/JavaScript/NoStrCompiler/CompilerJavaScriptNoStrCompiler.js
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
//不参与编译的JS相关数据
|
||||||
|
//JsCodeJSonCompilerStr-存所有编译时产生的临时数据,该变量中的临时数据将不会参与到JS编译!
|
||||||
|
//JSCode-代表编译的代码
|
||||||
|
//IfType-代表类型【1是开头,2是结束】
|
||||||
|
//ifCompiler-是否编译,真代表是
|
||||||
|
//FileID - 文件ID,可以是空字符串
|
||||||
|
function NoStrCompiler(JsCodeJSonCompilerStr, JSCode, IfType, ifCompiler = false, FileID) {
|
||||||
|
return NoStrCompiler_StrComNo(JsCodeJSonCompilerStr, JSCode, IfType, ifCompiler, FileID)
|
||||||
|
}
|
||||||
|
|
||||||
|
//不参与编译的JS相关数据-字符串不参与编译
|
||||||
|
//JsCodeJSonCompilerStr-存所有编译时产生的临时数据,该变量中的临时数据将不会参与到JS编译!
|
||||||
|
//JSCode-代表编译的代码
|
||||||
|
//IfType-代表类型【1是开头,2是结束】
|
||||||
|
//ifCompiler-是否编译,真代表是
|
||||||
|
//FileID - 文件ID,可以是空字符串
|
||||||
|
function NoStrCompiler_StrComNo(JsCodeJSonCompilerStr, JSCode, IfType, ifCompiler = false, FileID) {
|
||||||
|
if (IfType == 1) {
|
||||||
|
JSCode = JSCode.replaceAll("image/*", "NoCompilerJsCode0" + CompilerStart)
|
||||||
|
JSCode = JSCode.replaceAll("<script", "NoCompilerJsCode1" + CompilerStart)
|
||||||
|
JSCode = JSCode.replaceAll("</script", "NoCompilerJsCode2" + CompilerStart)
|
||||||
|
JSCode = JSCode.replaceAll("<脚本", "NoCompilerJsCode3" + CompilerStart)
|
||||||
|
JSCode = JSCode.replaceAll("</脚本", "NoCompilerJsCode4" + CompilerStart)
|
||||||
|
JSCode = JSCode.replaceAll("/*", ComXingHaoFOFStuDioText1)
|
||||||
|
JSCode = JSCode.replaceAll("*/", ComXingHaoFOFStuDioText2)
|
||||||
|
let StringObj = TakeTheMiddleOfTheTextAll(JSCode, "kkcosxinghaojstihuan", "fanxinghaokkcosjstihuan");
|
||||||
|
if (StringObj != undefined && StringObj != null) {
|
||||||
|
if (StringObj.length >= 1) {
|
||||||
|
for (let index = 0; index < StringObj.length; index++) {
|
||||||
|
let StrCodeLs = [StrCodeUuid(StringObj[index]), StringObj[index], false]
|
||||||
|
JSCode = JSCode.replace(StringObj[index], StrCodeLs[0])
|
||||||
|
JsCodeJSonCompilerStr[JsCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
StringObj = TakeTheMiddleOfTheTextAll(JSCode, ComXingHaoFOFStuDioText1, ComXingHaoFOFStuDioText2);
|
||||||
|
if (StringObj != undefined && StringObj != null) {
|
||||||
|
if (StringObj.length >= 1) {
|
||||||
|
for (let index = 0; index < StringObj.length; index++) {
|
||||||
|
let StrCodeLs = [StrCodeUuid(StringObj[index]), StringObj[index], false]
|
||||||
|
JSCode = JSCode.replace(StringObj[index], StrCodeLs[0])
|
||||||
|
JsCodeJSonCompilerStr[JsCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let dataJSCode = FOFStudioType.replaceStringsInCode(JSCode);
|
||||||
|
JSCode = dataJSCode["JSCode"];
|
||||||
|
let JsCodeJSonCompilerStrData = dataJSCode["JsCodeJSonCompilerStr"];
|
||||||
|
for (let index = 0; index < JsCodeJSonCompilerStrData.length; index++) {
|
||||||
|
JsCodeJSonCompilerStr[JsCodeJSonCompilerStr.length] = JsCodeJSonCompilerStrData[index];
|
||||||
|
}
|
||||||
|
/*全局关键字防止失误编译*/
|
||||||
|
let GArrCodeLs = GlobalCommandsDoNotCompile(JSCode)
|
||||||
|
for (let index = 0; index < GArrCodeLs.length; index++) {
|
||||||
|
let StrCode = GArrCodeLs[index];
|
||||||
|
let StrCodeLs = [StrCodeUuid(StrCode), StrCode, true]//实行全部替换机制
|
||||||
|
JSCode = JSCode.replaceAll(StrCode, StrCodeLs[0])
|
||||||
|
JsCodeJSonCompilerStr[JsCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (IfType == 2) {
|
||||||
|
for (let index = 0; index < JsCodeJSonCompilerStr.length; index++) {
|
||||||
|
let StrCodeLs = JsCodeJSonCompilerStr[JsCodeJSonCompilerStr.length - index - 1]//1代表双引号
|
||||||
|
if (StrCodeLs[2] == true) {
|
||||||
|
JSCode = JSCode.replaceAll(StrCodeLs[0], StrCodeLs[1])
|
||||||
|
} else {
|
||||||
|
JSCode = JSCode.replace(StrCodeLs[0], StrCodeLs[1])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
JSCode = JSCode.replaceAll("NoCompilerJsCode0" + CompilerStart, "image/*")
|
||||||
|
JSCode = JSCode.replaceAll("NoCompilerJsCode1" + CompilerStart, "<script")
|
||||||
|
JSCode = JSCode.replaceAll("NoCompilerJsCode2" + CompilerStart, "</script")
|
||||||
|
JSCode = JSCode.replaceAll("NoCompilerJsCode3" + CompilerStart, "<脚本")
|
||||||
|
JSCode = JSCode.replaceAll("NoCompilerJsCode4" + CompilerStart, "</脚本")
|
||||||
|
JSCode = JSCode.replaceAll(ComXingHaoFOFStuDioText1, "/*")
|
||||||
|
JSCode = JSCode.replaceAll(ComXingHaoFOFStuDioText2, "*/")
|
||||||
|
}
|
||||||
|
return { "code": JSCode, "JsCodeJSonCompilerStr": JsCodeJSonCompilerStr };
|
||||||
|
}
|
||||||
|
|
||||||
|
//编译被NoStrCompiler定性为不需要编译但实际需要编译的内容
|
||||||
|
//参数1要编译的页面代码,参数2编译的类型
|
||||||
|
//1代表编译成本地语言,2代表编译成英文
|
||||||
|
//【注意:本地语言,例如中文、柬埔寨或者其他国家语言以正则为主,目前暂时支持中文】
|
||||||
|
function YesStrCompiler(JSCode, CodeType) {
|
||||||
|
let pattern2 = /([`])(?:(?=(\\?))\2.)*?\1/gs;
|
||||||
|
let StringObj = JSCode.match(pattern2);
|
||||||
|
if (StringObj != undefined && StringObj != null) {
|
||||||
|
if (StringObj.length >= 1) {
|
||||||
|
for (let index = 0; index < StringObj.length; index++) {
|
||||||
|
if (StringObj[index].includes("<") && StringObj[index].includes(">"))
|
||||||
|
{
|
||||||
|
let StrCodeLs = [StringObj[index], StringObj[index]]
|
||||||
|
StrCodeLs[1] = CodeCompilerHtmlAll(StrCodeLs[1], CodeType, 1)
|
||||||
|
JSCode = JSCode.replaceHack(StrCodeLs[0], StrCodeLs[1])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return JSCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
//全局命令中不参与编译的语法,例如:对象{ }
|
||||||
|
function GlobalCommandsDoNotCompile(JSCode) {
|
||||||
|
let GArrCodeLs = []
|
||||||
|
for (let index = 0; index < JavascriptOverallCode.length; index++) {
|
||||||
|
let ifGArrCodeLsAdd = false;
|
||||||
|
let ArrCodeLs = []
|
||||||
|
ArrCodeLs[ArrCodeLs.length] = "{" + JavascriptOverallCode[index]["T_title"] + ":"
|
||||||
|
ArrCodeLs[ArrCodeLs.length] = " " + JavascriptOverallCode[index]["T_title"] + ":"
|
||||||
|
ArrCodeLs[ArrCodeLs.length] = " " + JavascriptOverallCode[index]["T_title"] + " :"
|
||||||
|
ArrCodeLs[ArrCodeLs.length] = "," + JavascriptOverallCode[index]["T_title"] + ":"
|
||||||
|
ArrCodeLs[ArrCodeLs.length] = "," + JavascriptOverallCode[index]["T_title"] + ":"
|
||||||
|
ArrCodeLs[ArrCodeLs.length] = "," + JavascriptOverallCode[index]["T_title"] + " :"
|
||||||
|
|
||||||
|
ArrCodeLs[ArrCodeLs.length] = "{" + JavascriptOverallCode[index]["T_title_en"] + ":"
|
||||||
|
ArrCodeLs[ArrCodeLs.length] = " " + JavascriptOverallCode[index]["T_title_en"] + ":"
|
||||||
|
ArrCodeLs[ArrCodeLs.length] = " " + JavascriptOverallCode[index]["T_title_en"] + " :"
|
||||||
|
ArrCodeLs[ArrCodeLs.length] = "," + JavascriptOverallCode[index]["T_title_en"] + ":"
|
||||||
|
ArrCodeLs[ArrCodeLs.length] = "," + JavascriptOverallCode[index]["T_title_en"] + ":"
|
||||||
|
ArrCodeLs[ArrCodeLs.length] = "," + JavascriptOverallCode[index]["T_title_en"] + " :"
|
||||||
|
for (let index2 = 0; index2 < ArrCodeLs.length; index2++) {
|
||||||
|
if (JSCode.includes(ArrCodeLs[index2])) {
|
||||||
|
let reg = new RegExp("(?=[^0-9a-zA-Z\u4e00-\u9fa5_])[^0-9a-zA-Z\u4e00-\u9fa5_]" + ArrCodeLs[index2] + "(?=[^0-9a-zA-Z\u4e00-\u9fa5_])", "g");
|
||||||
|
if (reg.test(JSCode) == true) {
|
||||||
|
ifGArrCodeLsAdd = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ifGArrCodeLsAdd == true) {
|
||||||
|
if (GArrCodeLs.includes("{" + JavascriptOverallCode[index]["T_title"] + ":") == false) {
|
||||||
|
GArrCodeLs[GArrCodeLs.length] = "{" + JavascriptOverallCode[index]["T_title"] + ":"
|
||||||
|
}
|
||||||
|
if (GArrCodeLs.includes(" " + JavascriptOverallCode[index]["T_title"] + ":") == false) {
|
||||||
|
GArrCodeLs[GArrCodeLs.length] = " " + JavascriptOverallCode[index]["T_title"] + ":"
|
||||||
|
}
|
||||||
|
if (GArrCodeLs.includes(" " + JavascriptOverallCode[index]["T_title"] + " :") == false) {
|
||||||
|
GArrCodeLs[GArrCodeLs.length] = " " + JavascriptOverallCode[index]["T_title"] + " :"
|
||||||
|
}
|
||||||
|
if (GArrCodeLs.includes("," + JavascriptOverallCode[index]["T_title"] + ":") == false) {
|
||||||
|
GArrCodeLs[GArrCodeLs.length] = "," + JavascriptOverallCode[index]["T_title"] + ":"
|
||||||
|
}
|
||||||
|
if (GArrCodeLs.includes("," + JavascriptOverallCode[index]["T_title"] + ":") == false) {
|
||||||
|
GArrCodeLs[GArrCodeLs.length] = "," + JavascriptOverallCode[index]["T_title"] + ":"
|
||||||
|
}
|
||||||
|
if (GArrCodeLs.includes("," + JavascriptOverallCode[index]["T_title"] + " :") == false) {
|
||||||
|
GArrCodeLs[GArrCodeLs.length] = "," + JavascriptOverallCode[index]["T_title"] + " :"
|
||||||
|
}
|
||||||
|
if (GArrCodeLs.includes("{" + JavascriptOverallCode[index]["T_title_en"] + ":") == false) {
|
||||||
|
GArrCodeLs[GArrCodeLs.length] = "{" + JavascriptOverallCode[index]["T_title_en"] + ":"
|
||||||
|
}
|
||||||
|
if (GArrCodeLs.includes(" " + JavascriptOverallCode[index]["T_title_en"] + ":") == false) {
|
||||||
|
GArrCodeLs[GArrCodeLs.length] = " " + JavascriptOverallCode[index]["T_title_en"] + ":"
|
||||||
|
}
|
||||||
|
if (GArrCodeLs.includes(" " + JavascriptOverallCode[index]["T_title_en"] + " :") == false) {
|
||||||
|
GArrCodeLs[GArrCodeLs.length] = " " + JavascriptOverallCode[index]["T_title_en"] + " :"
|
||||||
|
}
|
||||||
|
if (GArrCodeLs.includes("," + JavascriptOverallCode[index]["T_title_en"] + ":") == false) {
|
||||||
|
GArrCodeLs[GArrCodeLs.length] = "," + JavascriptOverallCode[index]["T_title_en"] + ":"
|
||||||
|
}
|
||||||
|
if (GArrCodeLs.includes("," + JavascriptOverallCode[index]["T_title_en"] + ":") == false) {
|
||||||
|
GArrCodeLs[GArrCodeLs.length] = "," + JavascriptOverallCode[index]["T_title_en"] + ":"
|
||||||
|
}
|
||||||
|
if (GArrCodeLs.includes("," + JavascriptOverallCode[index]["T_title_en"] + " :") == false) {
|
||||||
|
GArrCodeLs[GArrCodeLs.length] = "," + JavascriptOverallCode[index]["T_title_en"] + " :"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return GArrCodeLs;
|
||||||
|
}
|
622
js/css/CompilerCss.js
Normal file
622
js/css/CompilerCss.js
Normal file
@@ -0,0 +1,622 @@
|
|||||||
|
let JsonCssCode = [];//储存所有的JSON类编译数据
|
||||||
|
let JSON3_All_Title = [];//存储所有的标签名称,不带<>的标签
|
||||||
|
function CssCodeAllStyle(htmlStr) {
|
||||||
|
let reg = RegExp("(<style[^]*?</style>)", "g");
|
||||||
|
let htmlStrAll = htmlStr.match(reg);
|
||||||
|
if (htmlStrAll == null || htmlStrAll == undefined) {
|
||||||
|
htmlStrAll = [];
|
||||||
|
}
|
||||||
|
let htmlStrAllReturn = [];
|
||||||
|
if (htmlStrAll.length >= 1) {
|
||||||
|
for (let index = 0; index < htmlStrAll.length; index++) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
reg = RegExp("(<样式[^]*?</样式>)", "g");
|
||||||
|
htmlStrAll = htmlStr.match(reg);
|
||||||
|
if (htmlStrAll == null || htmlStrAll == undefined) {
|
||||||
|
htmlStrAll = [];
|
||||||
|
}
|
||||||
|
if (htmlStrAll.length >= 1) {
|
||||||
|
for (let index = 0; index < htmlStrAll.length; index++) {
|
||||||
|
htmlStrAllReturn[htmlStrAllReturn.length] = htmlStrAll[index];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return htmlStrAllReturn;
|
||||||
|
}
|
||||||
|
//初始化JS编译JSON信息
|
||||||
|
function JsonCssCodeMain(JSON_C) {
|
||||||
|
JsonCssCode = JSON_C;
|
||||||
|
}
|
||||||
|
//编译Css命令
|
||||||
|
//参数1要编译的Css代码,参数2编译的类型
|
||||||
|
//1代表编译成本地语言,2代表编译成英文
|
||||||
|
//【注意:本地语言,例如中文、柬埔寨或者其他国家语言以正则为主,目前暂时支持中文】
|
||||||
|
function CssCodeCompiler(CssCode, CodeType) {
|
||||||
|
let CssCodeJSonCompilerStr = [];//储存所有编译时产生的临时数据!
|
||||||
|
let RetCode = NoStrCssCompiler(CssCodeJSonCompilerStr, CssCode, 1);
|
||||||
|
CssCode = RetCode["code"];
|
||||||
|
CssCodeJSonCompilerStr = RetCode["CssCodeJSonCompilerStr"];
|
||||||
|
let TypeInt = -1;
|
||||||
|
if (CodeType == 1) {
|
||||||
|
TypeInt = 0
|
||||||
|
} else {
|
||||||
|
TypeInt = 1
|
||||||
|
}
|
||||||
|
for (let index = 0; index < JsonCssCode.length; index++) {
|
||||||
|
let regCompilerCode = "";//需要编译替换为的值
|
||||||
|
if (JsonCssCode[index].length >= 3) {
|
||||||
|
if (CssCode.indexOf(JsonCssCode[index][TypeInt]) != -1)//代表有需要进行处理的关键字
|
||||||
|
{
|
||||||
|
if (TypeInt == 0) {
|
||||||
|
regCompilerCode = JsonCssCode[index][1];
|
||||||
|
} else {
|
||||||
|
regCompilerCode = JsonCssCode[index][0];
|
||||||
|
}
|
||||||
|
CssCode = CssCodeReplace(CssCode, JsonCssCode[index][TypeInt], regCompilerCode, JsonCssCode[index][2]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//三方库class编译
|
||||||
|
for (let index = 0; index < HTMLTripartiteClass.length; index++) {
|
||||||
|
let title = HTMLTripartiteClass[index]["T_title"];
|
||||||
|
let title_en = HTMLTripartiteClass[index]["T_title_en"];
|
||||||
|
if (CssCode.indexOf("." + title) != -1 || CssCode.indexOf("." + title_en) != -1)//代表有需要进行处理的关键字
|
||||||
|
{
|
||||||
|
if (CodeType == 1) {
|
||||||
|
CssCode = CssCodeReplace(CssCode, title_en, title, 5);
|
||||||
|
}
|
||||||
|
if (CodeType == 2) {
|
||||||
|
CssCode = CssCodeReplace(CssCode, title, title_en, 5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//三方模块的class编译
|
||||||
|
try {
|
||||||
|
for (let index = 0; index < window.RenderingJsonArr.length; index++) {
|
||||||
|
if (window.RenderingJsonArr[index]["class"].length >= 1) {
|
||||||
|
for (let index1 = 0; index1 < window.RenderingJsonArr[index]["class"].length; index1++) {
|
||||||
|
let title = window.RenderingJsonArr[index]["class"][index1]["nameZh"];
|
||||||
|
let title_en = window.RenderingJsonArr[index]["class"][index1]["nameEn"];
|
||||||
|
if (CssCode.indexOf("." + title) != -1 || CssCode.indexOf("." + title_en) != -1)//代表有需要进行处理的关键字
|
||||||
|
{
|
||||||
|
if (CodeType == 1) {
|
||||||
|
CssCode = CssCodeReplace(CssCode, title_en, title, 5);
|
||||||
|
}
|
||||||
|
if (CodeType == 2) {
|
||||||
|
CssCode = CssCodeReplace(CssCode, title, title_en, 5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
|
||||||
|
}
|
||||||
|
for (let index = 0; index < JSON3_All.length; index++) {
|
||||||
|
let title = JSON3_All[index]["title"];
|
||||||
|
title = title.replaceHack("<", "")
|
||||||
|
title = title.replaceHack(">", "")
|
||||||
|
let title_en = JSON3_All[index]["title_en"];
|
||||||
|
title_en = title_en.replaceHack("<", "")
|
||||||
|
title_en = title_en.replaceHack(">", "")
|
||||||
|
if (CssCode.indexOf(title) != -1 || CssCode.indexOf(title_en) != -1)//代表有需要进行处理的关键字
|
||||||
|
{
|
||||||
|
if (CodeType == 1) {
|
||||||
|
CssCode = CssCodeReplace(CssCode, title_en, title, 4);
|
||||||
|
}
|
||||||
|
if (CodeType == 2) {
|
||||||
|
CssCode = CssCodeReplace(CssCode, title, title_en, 4);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
RetCode = NoStrCssCompiler(CssCodeJSonCompilerStr, CssCode, 2);
|
||||||
|
CssCode = RetCode["code"]
|
||||||
|
CssCode = CssSpecialTreatmentFun(CssCode, CodeType);//CSS特殊翻译,一些不在支持库中的命令等
|
||||||
|
return CssCode;
|
||||||
|
}
|
||||||
|
//用来进行CSS命令的替换编译,本方法不能独立使用,通常用来配合CssCodeCompiler命令
|
||||||
|
//参数1为整体的JS代码
|
||||||
|
//参数2为需要编译的关键字
|
||||||
|
//参数3为需要替换编译为的内容
|
||||||
|
//参数4代表编CSS类型【1CSS命令,2CSS值,3CSS全局都需要编译,4代表html名称,5代表三方库class】
|
||||||
|
function CssCodeReplace(CssCode, CssCodeKeyword, regCompilerCode, CssType) {
|
||||||
|
let CssCodeStr = CssCode;
|
||||||
|
if (CssCodeStr == regCompilerCode) {//判断是否是直接一样的内容,一样就直接匹配替换
|
||||||
|
CssCodeStr = regCompilerCode;
|
||||||
|
return CssCodeStr;
|
||||||
|
}
|
||||||
|
if (CssType == 3) {
|
||||||
|
CssCodeStr = CssCodeStr.replaceAll(CssCodeKeyword, regCompilerCode)
|
||||||
|
return CssCodeStr;
|
||||||
|
}
|
||||||
|
if (CssType == 1 || CssType == 2) {
|
||||||
|
if (CssCodeStr.indexOf("{") != -1 && CssCodeStr.indexOf("}") != -1) {
|
||||||
|
let CssCodeAll = TakeTheMiddleOfTheTextAll(CssCodeStr, "{", "}");
|
||||||
|
for (let index = 0; index < CssCodeAll.length; index++) {
|
||||||
|
let CssCodeLS = CssCodeReplace_Code(CssCodeAll[index], CssCodeKeyword, regCompilerCode);
|
||||||
|
if (CssCodeLS != CssCodeAll[index]) {
|
||||||
|
CssCodeStr = CssCodeStr.replaceAll(CssCodeAll[index], CssCodeLS)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
CssCodeStr = CssCodeReplace_Code(CssCodeStr, CssCodeKeyword, regCompilerCode);
|
||||||
|
}
|
||||||
|
CssCodeStr = CssTranslateToPseudoClass(CssCodeStr, CssCodeKeyword, regCompilerCode);
|
||||||
|
return CssCodeStr;
|
||||||
|
}
|
||||||
|
if (CssType == 4 || CssType == 5) {
|
||||||
|
CssCodeStr = CssCodeReplace_Code(CssCodeStr, CssCodeKeyword, regCompilerCode);
|
||||||
|
return CssCodeStr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//用来进行CSS-Html命令的替换编译
|
||||||
|
//参数1为整体的JS代码
|
||||||
|
//参数2为需要编译的关键字
|
||||||
|
//参数3为需要替换编译为的内容
|
||||||
|
function CssCodeReplace_Code(CssCode, CssCodeKeyword, regCompilerCode) {
|
||||||
|
if (CssCode.indexOf(CssCodeKeyword) == -1 && CssCode.indexOf(regCompilerCode) == -1) {
|
||||||
|
return CssCode;
|
||||||
|
}
|
||||||
|
let CssCodeStr = CssCode;
|
||||||
|
if (CssCodeStr == regCompilerCode) {//判断是否是直接一样的内容,一样就直接匹配替换
|
||||||
|
CssCodeStr = regCompilerCode;
|
||||||
|
return CssCodeStr;
|
||||||
|
}
|
||||||
|
CssCodeStr = "fofservercssbegin " + CssCodeStr;
|
||||||
|
CssCodeStr = CssCodeStr + " fofservercssbegin";
|
||||||
|
CssCodeStr = CssCodeStr.replaceAll("\r\n", " fofservercssbegin\r\nfofservercssbegin ");
|
||||||
|
let CssCodeStrOriginal = CssCodeStr;
|
||||||
|
let regCompilerCodeArr = [StrCodeUuid(regCompilerCode), regCompilerCode];
|
||||||
|
let reg = new RegExp("[^0-9a-zA-Z\u4e00-\u9fa5_-]" + CssCodeKeyword + "(?=[^0-9a-zA-Z\u4e00-\u9fa5_-])", "g");
|
||||||
|
if (CssCodeStrOriginal.indexOf(CssCodeKeyword) != -1) {
|
||||||
|
let CssCodeStrArr = CssCodeStrOriginal.match(reg);
|
||||||
|
if (CssCodeStrArr != undefined && CssCodeStrArr != null) {
|
||||||
|
if (CssCodeStrArr.length >= 1) {
|
||||||
|
CssCodeStr = CssCodeStr.replaceHack(reg, regCompilerCodeArr[0]);
|
||||||
|
for (let index = 0; index < CssCodeStrArr.length; index++) {
|
||||||
|
let FirstText = CssCodeStrArr[index].substring(0, 1);
|
||||||
|
CssCodeStr = CssCodeStr.replaceHack(regCompilerCodeArr[0], FirstText + regCompilerCodeArr[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CssCodeStr = CssCodeStr.replaceAll(" fofservercssbegin\r\nfofservercssbegin ", "\r\n");
|
||||||
|
CssCodeStr = CssCodeStr.replaceAll("fofservercssbegin ", "");
|
||||||
|
CssCodeStr = CssCodeStr.replaceAll(" fofservercssbegin", "");
|
||||||
|
return CssCodeStr;
|
||||||
|
}
|
||||||
|
//编译Html文件下所有Style中的CSS代码
|
||||||
|
//编译JS命令
|
||||||
|
//参数1要编译的页面代码
|
||||||
|
//参数2编译的类型-1代表编译成本地语言,2代表编译成英文
|
||||||
|
//【注意:本地语言,例如中文、柬埔寨或者其他国家语言以正则为主,目前暂时支持中文】
|
||||||
|
function CssCodeCompilerAll(str, CodeType) {
|
||||||
|
let CssCodeAll = CssCodeAllStyle(str);
|
||||||
|
for (let index = 0; index < CssCodeAll.length; index++) {
|
||||||
|
let CssCodeAr = [CssCodeAll[index], CssCodeAll[index]];
|
||||||
|
CssCodeAr[1] = CssCodeCompiler(CssCodeAr[1], CodeType);
|
||||||
|
str = str.replaceHack(CssCodeAr[0], CssCodeAr[1])
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
//不参与编译的JS相关数据
|
||||||
|
//1代表编译的代码,2代表类型【1是开头,2是结束】
|
||||||
|
function NoStrCssCompiler(CssCodeJSonCompilerStr, CssCode, IfType) {
|
||||||
|
if (IfType == 1) {
|
||||||
|
if (CssCode.indexOf("<style") != -1) {
|
||||||
|
CssCode = CssCode.replaceAll("<style", "NoCompilerCssCode1" + CompilerStart)
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("</style") != -1) {
|
||||||
|
CssCode = CssCode.replaceAll("</style", "NoCompilerCssCode2" + CompilerStart)
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("<样式") != -1) {
|
||||||
|
CssCode = CssCode.replaceAll("<样式", "NoCompilerCssCode3" + CompilerStart)
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("</样式") != -1) {
|
||||||
|
CssCode = CssCode.replaceAll("</样式", "NoCompilerCssCode4" + CompilerStart)
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("/*") != -1) {
|
||||||
|
CssCode = CssCode.replaceAll("/*", "kkcosxinghaojstihuan" + CompilerStart)
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("*/") != -1) {
|
||||||
|
CssCode = CssCode.replaceAll("*/", "fanxinghaokkcosjstihuan" + CompilerStart)
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("$") != -1) {
|
||||||
|
CssCode = CssCode.replaceAll("$", ComSymbolCssFOFStuDio + CompilerStart)
|
||||||
|
}
|
||||||
|
//开始处理字符串、屏蔽符等数据
|
||||||
|
let StringObj = [];
|
||||||
|
if (CssCode.indexOf("kkcosxinghaojstihuan") != -1 && CssCode.indexOf("fanxinghaokkcosjstihuan") != -1) {
|
||||||
|
StringObj = TakeTheMiddleOfTheTextAll(CssCode, "kkcosxinghaojstihuan", "fanxinghaokkcosjstihuan");
|
||||||
|
if (StringObj != undefined && StringObj != null) {
|
||||||
|
if (StringObj.length >= 1) {
|
||||||
|
for (let index = 0; index < StringObj.length; index++) {
|
||||||
|
let StrCodeLs = [StrCodeUuid(StringObj[index]), StringObj[index]]
|
||||||
|
CssCode = CssCode.replaceAll(StringObj[index], StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("\"") != -1 && CssCode.indexOf("\"") != -1) {
|
||||||
|
StringObj = TakeTheMiddleOfTheTextAll(CssCode, "\"", "\"");
|
||||||
|
if (StringObj != undefined && StringObj != null) {
|
||||||
|
if (StringObj.length >= 1) {
|
||||||
|
for (let index = 0; index < StringObj.length; index++) {
|
||||||
|
let StrCodeLs = [StrCodeUuid(StringObj[index]), StringObj[index]]
|
||||||
|
CssCode = CssCode.replaceAll(StringObj[index], StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("'") != -1) {
|
||||||
|
StringObj = TakeTheMiddleOfTheTextAll(CssCode, "'", "'");
|
||||||
|
if (StringObj != undefined && StringObj != null) {
|
||||||
|
if (StringObj.length >= 1) {
|
||||||
|
for (let index = 0; index < StringObj.length; index++) {
|
||||||
|
let StrCodeLs = [StrCodeUuid(StringObj[index]), StringObj[index]]
|
||||||
|
CssCode = CssCode.replaceAll(StringObj[index], StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("`") != -1) {
|
||||||
|
StringObj = TakeTheMiddleOfTheTextAll(CssCode, "`", "`");
|
||||||
|
if (StringObj != undefined && StringObj != null) {
|
||||||
|
if (StringObj.length >= 1) {
|
||||||
|
for (let index = 0; index < StringObj.length; index++) {
|
||||||
|
let StrCodeLs = [StrCodeUuid(StringObj[index]), StringObj[index]]
|
||||||
|
CssCode = CssCode.replaceAll(StringObj[index], StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (JSON3_All_Title.length <= 0) {
|
||||||
|
for (let index = 0; index < JSON3_All.length; index++) {
|
||||||
|
let title = JSON3_All[index]["title"];
|
||||||
|
title = title.replaceHack("<", "")
|
||||||
|
title = title.replaceHack(">", "")
|
||||||
|
let title_en = JSON3_All[index]["title_en"];
|
||||||
|
title_en = title_en.replaceHack("<", "")
|
||||||
|
title_en = title_en.replaceHack(">", "")
|
||||||
|
JSON3_All_Title[JSON3_All_Title.length] = {
|
||||||
|
"title": title,
|
||||||
|
"title_en": title_en
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//html重名.标签操作
|
||||||
|
for (let index = 0; index < JSON3_All_Title.length; index++) {
|
||||||
|
let title = JSON3_All_Title[index]["title"];
|
||||||
|
let title_en = JSON3_All_Title[index]["title_en"];
|
||||||
|
if (CssCode.indexOf("." + title) != -1 || CssCode.indexOf("." + title_en) != -1 || CssCode.indexOf("#" + title) != -1 || CssCode.indexOf("#" + title_en) != -1)//代表有需要进行处理的关键字
|
||||||
|
{
|
||||||
|
if (CssCode.indexOf("." + title + " ") != -1 || CssCode.indexOf("." + title + "{") != -1 || CssCode.indexOf("." + title + ".") != -1 || CssCode.indexOf("." + title_en + " ") != -1 || CssCode.indexOf("." + title_en + "{") != -1 || CssCode.indexOf("." + title_en + ".") != -1 || CssCode.indexOf("." + title_en + ":") != -1 || CssCode.indexOf("." + title + ":") != -1) {
|
||||||
|
if (CssCode.indexOf("." + title + " ") != -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("." + title + " ") + " ", "." + title + " "]
|
||||||
|
CssCode = CssCode.replaceAll("." + title + " ", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("." + title + "{") != -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("." + title + "{") + "{", "." + title + "{"]
|
||||||
|
CssCode = CssCode.replaceAll("." + title + "{", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("." + title + ".") != -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("." + title + ".") + ".", "." + title + "."]
|
||||||
|
CssCode = CssCode.replaceAll("." + title + ".", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("." + title + ":") != -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("." + title + ":") + ":", "." + title + ":"]
|
||||||
|
CssCode = CssCode.replaceAll("." + title + ":", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CssCode.indexOf("." + title_en + " ") != -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("." + title_en + " ") + " ", "." + title_en + " "]
|
||||||
|
CssCode = CssCode.replaceAll("." + title_en + " ", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("." + title_en + "{") != -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("." + title_en + "{") + "{", "." + title_en + "{"]
|
||||||
|
CssCode = CssCode.replaceAll("." + title_en + "{", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("." + title_en + ".") != -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("." + title_en + ".") + ".", "." + title_en + "."]
|
||||||
|
CssCode = CssCode.replaceAll("." + title_en + ".", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("." + title_en + ":") != -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("." + title_en + ":") + ":", "." + title_en + ":"]
|
||||||
|
CssCode = CssCode.replaceAll("." + title_en + ":", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CssCode.indexOf("#" + title + " ") != -1 || CssCode.indexOf("#" + title + "{") != -1 || CssCode.indexOf("#" + title + "#") != -1 || CssCode.indexOf("#" + title_en + " ") != -1 || CssCode.indexOf("#" + title_en + "{") != -1 || CssCode.indexOf("#" + title_en + "#") != -1 || CssCode.indexOf("#" + title_en + ":") != -1 || CssCode.indexOf("#" + title + ":") != -1) {
|
||||||
|
if (CssCode.indexOf("#" + title + " ") != -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("#" + title + " ") + " ", "#" + title + " "]
|
||||||
|
CssCode = CssCode.replaceAll("#" + title + " ", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("#" + title + "{") != -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("#" + title + "{") + "{", "#" + title + "{"]
|
||||||
|
CssCode = CssCode.replaceAll("#" + title + "{", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("#" + title + "#") != -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("#" + title + "#") + "#", "#" + title + "#"]
|
||||||
|
CssCode = CssCode.replaceAll("#" + title + "#", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("#" + title + ":") != -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("#" + title + ":") + ":", "#" + title + ":"]
|
||||||
|
CssCode = CssCode.replaceAll("#" + title + ":", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CssCode.indexOf("#" + title_en + " ") != -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("#" + title_en + " ") + " ", "#" + title_en + " "]
|
||||||
|
CssCode = CssCode.replaceAll("#" + title_en + " ", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("#" + title_en + "{") != -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("#" + title_en + "{") + "{", "#" + title_en + "{"]
|
||||||
|
CssCode = CssCode.replaceAll("#" + title_en + "{", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("#" + title_en + "#") != -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("#" + title_en + "#") + "#", "#" + title_en + "#"]
|
||||||
|
CssCode = CssCode.replaceAll("#" + title_en + "#", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("#" + title_en + ":") != -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("#" + title_en + ":") + ":", "#" + title_en + ":"]
|
||||||
|
CssCode = CssCode.replaceAll("#" + title_en + ":", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//.css名 重名操作
|
||||||
|
for (let index = 0; index < JsonCssCode.length; index++) {
|
||||||
|
if (JsonCssCode[index].length >= 3) {
|
||||||
|
if (CssCode.indexOf(JsonCssCode[index][0]) != -1 || CssCode.indexOf(JsonCssCode[index][1]) != -1 || CssCode.indexOf(JsonCssCode[index][1]) != -1 || CssCode.indexOf(JsonCssCode[index][0]) != -1)//代表有需要进行处理的关键字
|
||||||
|
{
|
||||||
|
if (JsonCssCode[index][0].indexOf("_") == -1 && JsonCssCode[index][0].indexOf("-") == -1) {
|
||||||
|
if (CssCode.indexOf("." + JsonCssCode[index][0] + " ") != -1 || CssCode.indexOf("." + JsonCssCode[index][0] + "{") != -1 || CssCode.indexOf("." + JsonCssCode[index][0] + "\r\n") != -1) {
|
||||||
|
if (HTMLTripartiteClassStr.indexOf(`"T_title":"` + JsonCssCode[index][0] + `"`) == -1 && HTMLTripartiteClassStr.indexOf(`"T_title_en":"` + JsonCssCode[index][0] + `"`) == -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("." + JsonCssCode[index][0]) + " ", "." + JsonCssCode[index][0] + " "]
|
||||||
|
CssCode = CssCode.replaceAll("." + JsonCssCode[index][0] + " ", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
|
||||||
|
StrCodeLs = [StrCodeUuid("." + JsonCssCode[index][0] + "{") + "{", "." + JsonCssCode[index][0] + "{"]
|
||||||
|
CssCode = CssCode.replaceAll("." + JsonCssCode[index][0] + "{", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
|
||||||
|
StrCodeLs = [StrCodeUuid("." + JsonCssCode[index][0] + "\r\n"), "." + JsonCssCode[index][0] + "\r\n"]
|
||||||
|
CssCode = CssCode.replaceAll("." + JsonCssCode[index][0] + "\r\n", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (JsonCssCode[index][1].indexOf("_") == -1 && JsonCssCode[index][1].indexOf("-") == -1) {
|
||||||
|
if (CssCode.indexOf("." + JsonCssCode[index][1] + " ") != -1 || CssCode.indexOf("." + JsonCssCode[index][1] + "{") != -1 || CssCode.indexOf("." + JsonCssCode[index][1] + "\r\n") != -1) {
|
||||||
|
if (HTMLTripartiteClassStr.indexOf(`"T_title":"` + JsonCssCode[index][1] + `"`) == -1 && HTMLTripartiteClassStr.indexOf(`"T_title_en":"` + JsonCssCode[index][1] + `"`) == -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("." + JsonCssCode[index][1]) + " ", "." + JsonCssCode[index][1] + " "]
|
||||||
|
CssCode = CssCode.replaceAll("." + JsonCssCode[index][1] + " ", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
|
||||||
|
StrCodeLs = [StrCodeUuid("." + JsonCssCode[index][1] + "{") + "{", "." + JsonCssCode[index][1] + "{"]
|
||||||
|
CssCode = CssCode.replaceAll("." + JsonCssCode[index][1] + "{", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
|
||||||
|
StrCodeLs = [StrCodeUuid("." + JsonCssCode[index][1] + "\r\n"), "." + JsonCssCode[index][1] + "\r\n"]
|
||||||
|
CssCode = CssCode.replaceAll("." + JsonCssCode[index][1] + "\r\n", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("#") != -1) {
|
||||||
|
if (CssCode.indexOf("#" + JsonCssCode[index][0] + " ") != -1 || CssCode.indexOf("#" + JsonCssCode[index][0] + "{") != -1 || CssCode.indexOf("#" + JsonCssCode[index][0] + "\r\n") != -1) {
|
||||||
|
if (HTMLTripartiteClassStr.indexOf(`"T_title":"` + JsonCssCode[index][0] + `"`) == -1 && HTMLTripartiteClassStr.indexOf(`"T_title_en":"` + JsonCssCode[index][0] + `"`) == -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("#" + JsonCssCode[index][0]) + " ", "#" + JsonCssCode[index][0] + " "]
|
||||||
|
CssCode = CssCode.replaceAll("#" + JsonCssCode[index][0] + " ", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
|
||||||
|
StrCodeLs = [StrCodeUuid("#" + JsonCssCode[index][0] + "{") + "{", "#" + JsonCssCode[index][0] + "{"]
|
||||||
|
CssCode = CssCode.replaceAll("#" + JsonCssCode[index][0] + "{", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
|
||||||
|
StrCodeLs = [StrCodeUuid("#" + JsonCssCode[index][0] + "\r\n"), "#" + JsonCssCode[index][0] + "\r\n"]
|
||||||
|
CssCode = CssCode.replaceAll("#" + JsonCssCode[index][0] + "\r\n", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("#" + JsonCssCode[index][1] + " ") != -1 || CssCode.indexOf("#" + JsonCssCode[index][1] + "{") != -1 || CssCode.indexOf("#" + JsonCssCode[index][1] + "\r\n") != -1) {
|
||||||
|
if (HTMLTripartiteClassStr.indexOf(`"T_title":"` + JsonCssCode[index][1] + `"`) == -1 && HTMLTripartiteClassStr.indexOf(`"T_title_en":"` + JsonCssCode[index][1] + `"`) == -1) {
|
||||||
|
let StrCodeLs = [StrCodeUuid("#" + JsonCssCode[index][1]) + " ", "#" + JsonCssCode[index][1] + " "]
|
||||||
|
CssCode = CssCode.replaceAll("#" + JsonCssCode[index][1] + " ", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
|
||||||
|
StrCodeLs = [StrCodeUuid("#" + JsonCssCode[index][1] + "{") + "{", "#" + JsonCssCode[index][1] + "{"]
|
||||||
|
CssCode = CssCode.replaceAll("#" + JsonCssCode[index][1] + "{", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
|
||||||
|
StrCodeLs = [StrCodeUuid("#" + JsonCssCode[index][1] + "\r\n"), "#" + JsonCssCode[index][1] + "\r\n"]
|
||||||
|
CssCode = CssCode.replaceAll("#" + JsonCssCode[index][1] + "\r\n", StrCodeLs[0])
|
||||||
|
CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (IfType == 2) {
|
||||||
|
for (let index = 0; index < CssCodeJSonCompilerStr.length; index++) {
|
||||||
|
let StrCodeLs = CssCodeJSonCompilerStr[CssCodeJSonCompilerStr.length - index - 1]
|
||||||
|
if (CssCode.indexOf(StrCodeLs[0]) != -1) {
|
||||||
|
CssCode = CssCode.replaceAll(StrCodeLs[0], StrCodeLs[1])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("NoCompilerCssCode1" + CompilerStart) != -1) {
|
||||||
|
CssCode = CssCode.replaceAll("NoCompilerCssCode1" + CompilerStart, "<style")
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("NoCompilerCssCode2" + CompilerStart) != -1) {
|
||||||
|
CssCode = CssCode.replaceAll("NoCompilerCssCode2" + CompilerStart, "</style")
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("NoCompilerCssCode3" + CompilerStart) != -1) {
|
||||||
|
CssCode = CssCode.replaceAll("NoCompilerCssCode3" + CompilerStart, "<样式")
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("NoCompilerCssCode4" + CompilerStart) != -1) {
|
||||||
|
CssCode = CssCode.replaceAll("NoCompilerCssCode4" + CompilerStart, "</样式")
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("kkcosxinghaojstihuan" + CompilerStart) != -1) {
|
||||||
|
CssCode = CssCode.replaceAll("kkcosxinghaojstihuan" + CompilerStart, "/*")
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf("fanxinghaokkcosjstihuan" + CompilerStart) != -1) {
|
||||||
|
CssCode = CssCode.replaceAll("fanxinghaokkcosjstihuan" + CompilerStart, "*/")
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf(ComSymbolCssFOFStuDio + CompilerStart) != -1) {
|
||||||
|
CssCode = CssCode.replaceAll(ComSymbolCssFOFStuDio + CompilerStart, "$")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return { "CssCodeJSonCompilerStr": CssCodeJSonCompilerStr, "code": CssCode };
|
||||||
|
}
|
||||||
|
//键名转JSON,注意:要确保.号已经被处理成Comendfofdianhaobenin
|
||||||
|
function KeyNameToJSON(CssCode) {
|
||||||
|
for (let index = 0; index < JsonCssCode.length; index++) {
|
||||||
|
if (JsonCssCode[index].length >= 3) {
|
||||||
|
if (JsonCssCode[index][2] == 1) {
|
||||||
|
|
||||||
|
if (CssCode.indexOf(JsonCssCode[index][0]) != -1) {
|
||||||
|
CssCode = CssCodeReplaceKeyNameToJSON(CssCode, JsonCssCode[index][0]);
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf(JsonCssCode[index][1]) != -1) {
|
||||||
|
CssCode = CssCodeReplaceKeyNameToJSON(CssCode, JsonCssCode[index][1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (let index = 0; index < JSON3_All.length; index++) {
|
||||||
|
let title = JSON3_All[index]["title"];
|
||||||
|
title = title.replaceHack("<", "")
|
||||||
|
title = title.replaceHack(">", "")
|
||||||
|
let title_en = JSON3_All[index]["title_en"];
|
||||||
|
title_en = title_en.replaceHack("<", "")
|
||||||
|
title_en = title_en.replaceHack(">", "")
|
||||||
|
if (CssCode.indexOf(title) != -1) {
|
||||||
|
CssCode = CssCodeReplaceKeyNameToJSON(CssCode, title);
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf(title_en) != -1) {
|
||||||
|
CssCode = CssCodeReplaceKeyNameToJSON(CssCode, title_en);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//三方库class编译-建议后期加上IDE分库编译
|
||||||
|
for (let index = 0; index < HTMLTripartiteClass.length; index++) {
|
||||||
|
let title = HTMLTripartiteClass[index]["T_title"];
|
||||||
|
let title_en = HTMLTripartiteClass[index]["T_title_en"];
|
||||||
|
if (CssCode.indexOf(Comendfofdianhaobenin + title) != -1) {
|
||||||
|
CssCode = CssCodeReplaceKeyNameToJSON(CssCode, Comendfofdianhaobenin + title);
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf(Comendfofdianhaobenin + title_en) != -1) {
|
||||||
|
CssCode = CssCodeReplaceKeyNameToJSON(CssCode, Comendfofdianhaobenin + title_en);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return CssCode;
|
||||||
|
}
|
||||||
|
//键名转JSON,注意:要确保.号已经被处理成Comendfofdianhaobenin
|
||||||
|
//IfHump-是否转换为驼峰对象
|
||||||
|
function KeyNameToJSON(CssCode, IfHump = false) {
|
||||||
|
for (let index = 0; index < JsonCssCode.length; index++) {
|
||||||
|
if (JsonCssCode[index].length >= 3) {
|
||||||
|
if (JsonCssCode[index][2] == 1) {
|
||||||
|
|
||||||
|
if (CssCode.indexOf(JsonCssCode[index][0]) != -1) {
|
||||||
|
CssCode = CssCodeReplaceKeyNameToJSON(CssCode, JsonCssCode[index][0], IfHump);
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf(JsonCssCode[index][1]) != -1) {
|
||||||
|
CssCode = CssCodeReplaceKeyNameToJSON(CssCode, JsonCssCode[index][1], IfHump);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (let index = 0; index < JSON3_All.length; index++) {
|
||||||
|
let title = JSON3_All[index]["title"];
|
||||||
|
title = title.replaceHack("<", "")
|
||||||
|
title = title.replaceHack(">", "")
|
||||||
|
let title_en = JSON3_All[index]["title_en"];
|
||||||
|
title_en = title_en.replaceHack("<", "")
|
||||||
|
title_en = title_en.replaceHack(">", "")
|
||||||
|
if (CssCode.indexOf(title) != -1) {
|
||||||
|
CssCode = CssCodeReplaceKeyNameToJSON(CssCode, title, IfHump);
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf(title_en) != -1) {
|
||||||
|
CssCode = CssCodeReplaceKeyNameToJSON(CssCode, title_en, IfHump);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//三方库class编译-建议后期加上IDE分库编译
|
||||||
|
for (let index = 0; index < HTMLTripartiteClass.length; index++) {
|
||||||
|
let title = HTMLTripartiteClass[index]["T_title"];
|
||||||
|
let title_en = HTMLTripartiteClass[index]["T_title_en"];
|
||||||
|
if (CssCode.indexOf(Comendfofdianhaobenin + title) != -1) {
|
||||||
|
CssCode = CssCodeReplaceKeyNameToJSON(CssCode, Comendfofdianhaobenin + title, IfHump);
|
||||||
|
}
|
||||||
|
if (CssCode.indexOf(Comendfofdianhaobenin + title_en) != -1) {
|
||||||
|
CssCode = CssCodeReplaceKeyNameToJSON(CssCode, Comendfofdianhaobenin + title_en, IfHump);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return CssCode;
|
||||||
|
}
|
||||||
|
//键名命令转JSON替换方法
|
||||||
|
//参数1为整体的JS代码
|
||||||
|
//参数2为需要编译的关键字
|
||||||
|
//IfHump-是否转换为驼峰对象
|
||||||
|
function CssCodeReplaceKeyNameToJSON(CssCode, CssCodeKeyword, IfHump = false) {
|
||||||
|
let RcCssCodeKeyword = CssCodeKeyword;
|
||||||
|
if (IfHump == true) {
|
||||||
|
let HumpArr = RcCssCodeKeyword.split("-");
|
||||||
|
if (HumpArr) {
|
||||||
|
if (HumpArr.length >= 2) {
|
||||||
|
let LsHump = HumpArr[1];
|
||||||
|
let LsHump1 = LsHump.substring(0, 1);
|
||||||
|
LsHump1 = LsHump1.toUpperCase();
|
||||||
|
if (LsHump.length >= 2) {
|
||||||
|
LsHump = LsHump1 + LsHump.substring(1, LsHump.length);
|
||||||
|
} else {
|
||||||
|
LsHump = LsHump1;
|
||||||
|
}
|
||||||
|
RcCssCodeKeyword = HumpArr[0] + LsHump;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let CssCodeStr = CssCode;
|
||||||
|
CssCodeStr = "fofservercssbegin " + CssCodeStr;
|
||||||
|
CssCodeStr = CssCodeStr + " fofservercssbegin";
|
||||||
|
CssCodeStr = CssCodeStr.replaceAll("\r\n", " fofservercssbegin\r\nfofservercssbegin ");
|
||||||
|
let CssCodeStrOriginal = CssCodeStr;
|
||||||
|
let regCompilerCodeArr = [StrCodeUuid("\"" + RcCssCodeKeyword + "\""), "\"" + RcCssCodeKeyword + "\""];
|
||||||
|
let reg = new RegExp("[^0-9a-zA-Z\u4e00-\u9fa5_-]" + CssCodeKeyword + "(?=[^0-9a-zA-Z\u4e00-\u9fa5_-])", "g");
|
||||||
|
CssCodeStr = CssCodeStr.replaceHack(reg, regCompilerCodeArr[0]);
|
||||||
|
let CssCodeStrArr = CssCodeStrOriginal.match(reg);
|
||||||
|
if (CssCodeStrArr != undefined && CssCodeStrArr != null) {
|
||||||
|
if (CssCodeStrArr.length >= 1) {
|
||||||
|
for (let index = 0; index < CssCodeStrArr.length; index++) {
|
||||||
|
let FirstText = CssCodeStrArr[index].substring(0, 1);
|
||||||
|
CssCodeStr = CssCodeStr.replaceHack(regCompilerCodeArr[0], FirstText + regCompilerCodeArr[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CssCodeStr = CssCodeStr.replaceAll(" fofservercssbegin\r\nfofservercssbegin ", "\r\n");
|
||||||
|
CssCodeStr = CssCodeStr.replaceAll("fofservercssbegin ", "");
|
||||||
|
CssCodeStr = CssCodeStr.replaceAll(" fofservercssbegin", "");
|
||||||
|
return CssCodeStr;
|
||||||
|
}
|
74
js/css/CompilerCssSpecialTreatment.js
Normal file
74
js/css/CompilerCssSpecialTreatment.js
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
let CssSpecialTreatment = [
|
||||||
|
{ "titleEn": "@keyframes", "title": "@关键帧动画","T_usage":"请直接在CSS中使用本命令,使用本命令可以创建动画;创建动画是通过逐步改变从一个CSS样式设定到另一个样式。" },
|
||||||
|
{ "titleEn": "@media", "title": "@媒体查询","T_usage":"请直接在CSS中使用本命令,媒体查询可以判断用户的页面大小来执行不同的代码;具体用法可在网络代码块中搜索媒体查询关键字" },
|
||||||
|
{ "titleEn": "!important", "title": "@样式提权","T_usage":"请直接在CSS中使用本命令,样式提权最主要作用是提高指定CSS样式规则的应用优先权" },
|
||||||
|
//@CSS专属特殊关键字
|
||||||
|
]
|
||||||
|
//单独处理CSS的伪类
|
||||||
|
function CssTranslateToPseudoClass(code, Translate, TranslateEN) {
|
||||||
|
if (Translate == "after" || TranslateEN == "after" || Translate == "before" || TranslateEN == "before" || Translate == "nth-child" || TranslateEN == "nth-child" || Translate == "hover" || TranslateEN == "hover" || Translate == "placeholder" || TranslateEN == "placeholder" || Translate == "focus" || TranslateEN == "focus" || Translate == "link" || TranslateEN == "link" || Translate == "active" || TranslateEN == "active" || Translate == "visited" || TranslateEN == "visited" || Translate == "checked" || TranslateEN == "checked" || Translate == "root" || TranslateEN == "root") {
|
||||||
|
code = code.replaceAll(":" + Translate + " ", ":" + TranslateEN + " ")
|
||||||
|
code = code.replaceAll(":" + Translate + "{", ":" + TranslateEN + "{")
|
||||||
|
code = code.replaceAll(":" + Translate + "\r\n", ":" + TranslateEN + "\r\n")
|
||||||
|
code = code.replaceAll(":" + Translate + "\n", ":" + TranslateEN + "\n")
|
||||||
|
code = code.replaceAll(":" + Translate + ",", ":" + TranslateEN + ",")
|
||||||
|
code = code.replaceAll(":" + Translate + " ,", ":" + TranslateEN + " ,")
|
||||||
|
code = code.replaceAll(":" + Translate + ":", ":" + TranslateEN + ":")
|
||||||
|
code = code.replaceAll(":" + Translate + " :", ":" + TranslateEN + " :")
|
||||||
|
code = code.replaceAll(":" + Translate + " (", ":" + TranslateEN + " (")
|
||||||
|
code = code.replaceAll(":" + Translate + "(", ":" + TranslateEN + "(")
|
||||||
|
code = code.replaceAll(":" + Translate + "~", ":" + TranslateEN + "~")
|
||||||
|
code = code.replaceAll(":" + Translate + "+", ":" + TranslateEN + "+")
|
||||||
|
|
||||||
|
|
||||||
|
code = code.replaceAll(": " + Translate + " ", ": " + TranslateEN + " ")
|
||||||
|
code = code.replaceAll(": " + Translate + "{", ": " + TranslateEN + "{")
|
||||||
|
code = code.replaceAll(": " + Translate + "\r\n", ": " + TranslateEN + "\r\n")
|
||||||
|
code = code.replaceAll(": " + Translate + "\n", ": " + TranslateEN + "\n")
|
||||||
|
code = code.replaceAll(": " + Translate + ",", ": " + TranslateEN + ",")
|
||||||
|
code = code.replaceAll(": " + Translate + " ,", ": " + TranslateEN + " ,")
|
||||||
|
code = code.replaceAll(": " + Translate + ":", ": " + TranslateEN + ":")
|
||||||
|
code = code.replaceAll(": " + Translate + " :", ": " + TranslateEN + " :")
|
||||||
|
code = code.replaceAll(": " + Translate + "(", ": " + TranslateEN + "(")
|
||||||
|
code = code.replaceAll(": " + Translate + " (", ": " + TranslateEN + " (")
|
||||||
|
code = code.replaceAll(": " + Translate + "~", ": " + TranslateEN + "~")
|
||||||
|
code = code.replaceAll(": " + Translate + "+", ": " + TranslateEN + "+")
|
||||||
|
}
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
//单独处理一些CSS命令的特殊翻译
|
||||||
|
//注意:本方法在uniapp的编译中有单独调用,所以不要使用一些css才有的专属数据!
|
||||||
|
function CssTranslateToEN(code) {
|
||||||
|
if (code == undefined) {
|
||||||
|
code = "";
|
||||||
|
}
|
||||||
|
if (ComPilerDataMsgType.IfComPiler == true) {
|
||||||
|
code = code.replaceAll("fofstudiotextcolor", "color");
|
||||||
|
}
|
||||||
|
code = code.replaceAll("(最大-宽度:", "(max-width:");
|
||||||
|
code = code.replaceAll("(最小-宽度:", "(min-width:");
|
||||||
|
code = code.replaceAll("( 最大-宽度:", "( max-width:");
|
||||||
|
code = code.replaceAll("( 最小-宽度:", "( min-width:");
|
||||||
|
code = code.replaceAll("( 最大-宽度:", "( max-width:");
|
||||||
|
code = code.replaceAll("( 最小-宽度:", "( min-width:");
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
//CodeType-1代表编译成本地语言,2代表编译成英文
|
||||||
|
//【注意:本地语言,例如中文、柬埔寨或者其他国家语言以正则为主,目前暂时支持中文】
|
||||||
|
function CssSpecialTreatmentFun(code, CodeType) {
|
||||||
|
if (code == undefined) {
|
||||||
|
code = "";
|
||||||
|
}
|
||||||
|
for (let index = 0; index < CssSpecialTreatment.length; index++) {
|
||||||
|
if (code.indexOf(CssSpecialTreatment[index]["title"]) != -1 || code.indexOf(CssSpecialTreatment[index]["titleEn"]) != -1) {
|
||||||
|
if (CodeType == 1) {
|
||||||
|
code = code.replaceAll(CssSpecialTreatment[index]["titleEn"], CssSpecialTreatment[index]["title"]);
|
||||||
|
} else {
|
||||||
|
code = code.replaceAll(CssSpecialTreatment[index]["title"], CssSpecialTreatment[index]["titleEn"]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
code = CssTranslateToEN(code);
|
||||||
|
return code;
|
||||||
|
}
|
469
js/html/CompilerHtml.js
Normal file
469
js/html/CompilerHtml.js
Normal file
@@ -0,0 +1,469 @@
|
|||||||
|
//编译HTML代码的主类
|
||||||
|
var JSON1_All = [];//全局属性
|
||||||
|
var JSON2_All = [];//全局方法
|
||||||
|
var JSON3_All = [];//所有标签
|
||||||
|
let JSON3_All_Title_Html_Type1 = [];//存储所有的标签名称,不带<>的标签,与CSS的JSON3_All_Title不同的是,本数组储存所有标签字段,包括其他插件标签
|
||||||
|
let JSON3_All_Title_Html_Type2 = [];//存储所有的标签名称,不带<>的标签,与CSS的JSON3_All_Title不同的是,本数组储存所有标签字段,包括其他插件标签
|
||||||
|
var CompilerIntAll = [];//标签的中文数组
|
||||||
|
var CompilerIntAllEn = [];//标签的英文数组
|
||||||
|
var CompilerHtml = [];//所有的HTML标签,不带<>符号的纯标签名
|
||||||
|
var iframeCompilerSrcdoc = [];//iframe标签属性Srcdoc的中文英名称记录,成员1英文,成员2中文
|
||||||
|
let HTMLcompilationFun = [];//所有的全局方法,单独储存,通常用作JS编译
|
||||||
|
let HTMLcompilationAttr = [];//所有的属性、全局属性、三方属性,单独储存,通常用作JS编译
|
||||||
|
let HTMLTripartiteClass = [];//所有的三方HTML类名
|
||||||
|
let NOHtmlCodeJSonCompilerStr = [];//储存所有编译HTML时产生的临时数据,该变量中的临时数据将不会参与到HTml编译!
|
||||||
|
/*
|
||||||
|
初始化HTML编译数据
|
||||||
|
@C_JSON-HTML编译数据
|
||||||
|
*/
|
||||||
|
function JSONCompilerInt_All(C_JSON, HTMLcompilationFun_, HTMLcompilationAttr_, CompilerHtml_, HTMLTripartiteClass_) {
|
||||||
|
HTMLcompilationFun = HTMLcompilationFun_;
|
||||||
|
HTMLcompilationAttr = HTMLcompilationAttr_;
|
||||||
|
CompilerHtml = CompilerHtml_;
|
||||||
|
HTMLTripartiteClass = HTMLTripartiteClass_;
|
||||||
|
JSONCompilerInt(C_JSON["GlobalProperties"], C_JSON["GlobalMethod"], C_JSON["AllHtmlCommands"]);
|
||||||
|
}
|
||||||
|
//初始化编译器JSON
|
||||||
|
//参数1全局属性,参数2是全局方法,参数3是标签JSON
|
||||||
|
function JSONCompilerInt(C_JSON1, C_JSON2, C_JSON3) {
|
||||||
|
JSON1_All = C_JSON1
|
||||||
|
JSON2_All = C_JSON2
|
||||||
|
JSON3_All = C_JSON3
|
||||||
|
for (let index = 0; index < JSON3_All.length; index++) {
|
||||||
|
let element = JSON3_All[index];
|
||||||
|
CompilerIntAll[CompilerIntAll.length] = element["title"].toLowerCase();
|
||||||
|
CompilerIntAllEn[CompilerIntAllEn.length] = element["title_en"].toLowerCase();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//开始编译HTML代码
|
||||||
|
//htmlCode-要编译的HTMl代码
|
||||||
|
//htmlStrAll-代表所获取的所有标签
|
||||||
|
//CodeType-编译的类型,1代表编译成本地语言,2代表编译成英文
|
||||||
|
//【注意:本地语言,例如中文、柬埔寨或者其他国家语言以正则为主,目前暂时支持中文】
|
||||||
|
function ForHtmlCode(htmlCode, CodeType, FileID) {
|
||||||
|
let htmlCodeStr = htmlCode;
|
||||||
|
htmlCodeStr = CssCodeCompilerAll(htmlCodeStr, CodeType)
|
||||||
|
htmlCodeStr = JsCodeCompilerAll(htmlCodeStr, CodeType, FileID)
|
||||||
|
|
||||||
|
htmlCodeStr = HtmlCodeMultiline(htmlCodeStr, 1);
|
||||||
|
htmlCodeStr = NoHTMLStrCompiler(htmlCodeStr, 1);
|
||||||
|
if (JSON3_All_Title_Html_Type1.length <= 0) {
|
||||||
|
for (let index = 0; index < JSON3_All.length; index++) {
|
||||||
|
let LableName = [];
|
||||||
|
LableName = [JSON3_All[index]["title"], JSON3_All[index]["title_en"]]
|
||||||
|
let K01 = [LableName[0], LableName[1]]
|
||||||
|
LableName[0] = LableName[0].replaceHack("<", "");
|
||||||
|
LableName[0] = LableName[0].replaceHack(">", "");
|
||||||
|
LableName[1] = LableName[1].replaceHack("<", "");
|
||||||
|
LableName[1] = LableName[1].replaceHack(">", "");
|
||||||
|
JSON3_All_Title_Html_Type1[JSON3_All_Title_Html_Type1.length] = {
|
||||||
|
"l0": LableName[0],
|
||||||
|
"l1": LableName[1],
|
||||||
|
"l2": "</" + LableName[1] + ">",
|
||||||
|
"l3": "</" + LableName[0] + ">",
|
||||||
|
"l4": "<" + LableName[1] + ">",
|
||||||
|
"l5": "<" + LableName[0] + ">",
|
||||||
|
"l6": "</" + LableName[1] + " ",
|
||||||
|
"l7": "</" + LableName[0] + " ",
|
||||||
|
"l8": "<" + LableName[1] + " ",
|
||||||
|
"l9": "<" + LableName[0] + " ",
|
||||||
|
"k0": K01[0],
|
||||||
|
"k1": K01[1],
|
||||||
|
"c0": "<" + LableName[1],
|
||||||
|
"c1": "<" + LableName[0],
|
||||||
|
"c2": "<" + LableName[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (JSON3_All_Title_Html_Type2.length <= 0) {
|
||||||
|
for (let index = 0; index < JSON3_All.length; index++) {
|
||||||
|
let LableName = [];
|
||||||
|
LableName = [JSON3_All[index]["title_en"], JSON3_All[index]["title"]]
|
||||||
|
let K01 = [LableName[0], LableName[1]]
|
||||||
|
LableName[0] = LableName[0].replaceHack("<", "");
|
||||||
|
LableName[0] = LableName[0].replaceHack(">", "");
|
||||||
|
LableName[1] = LableName[1].replaceHack("<", "");
|
||||||
|
LableName[1] = LableName[1].replaceHack(">", "");
|
||||||
|
JSON3_All_Title_Html_Type2[JSON3_All_Title_Html_Type2.length] = {
|
||||||
|
"l0": LableName[0],
|
||||||
|
"l1": LableName[1],
|
||||||
|
"l2": "</" + LableName[1] + ">",
|
||||||
|
"l3": "</" + LableName[0] + ">",
|
||||||
|
"l4": "<" + LableName[1] + ">",
|
||||||
|
"l5": "<" + LableName[0] + ">",
|
||||||
|
"l6": "</" + LableName[1] + " ",
|
||||||
|
"l7": "</" + LableName[0] + " ",
|
||||||
|
"l8": "<" + LableName[1] + " ",
|
||||||
|
"l9": "<" + LableName[0] + " ",
|
||||||
|
"k0": K01[0],
|
||||||
|
"k1": K01[1],
|
||||||
|
"c0": "<" + LableName[1],
|
||||||
|
"c1": "<" + LableName[0],
|
||||||
|
"c2": "<" + LableName[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CodeType == 1) {
|
||||||
|
JSON3_All_Title_Html = JSON3_All_Title_Html_Type1
|
||||||
|
} else {
|
||||||
|
JSON3_All_Title_Html = JSON3_All_Title_Html_Type2
|
||||||
|
}
|
||||||
|
for (let index = 0; index < JSON3_All.length; index++) {
|
||||||
|
if (htmlCodeStr.indexOf(JSON3_All_Title_Html[index]["l2"]) != -1) {
|
||||||
|
htmlCodeStr = htmlCodeStr.replaceAll(JSON3_All_Title_Html[index]["l2"], JSON3_All_Title_Html[index]["l3"]);
|
||||||
|
}
|
||||||
|
if (htmlCodeStr.indexOf(JSON3_All_Title_Html[index]["l4"]) != -1) {
|
||||||
|
htmlCodeStr = htmlCodeStr.replaceAll(JSON3_All_Title_Html[index]["l4"], JSON3_All_Title_Html[index]["l5"]);
|
||||||
|
}
|
||||||
|
if (htmlCodeStr.indexOf(JSON3_All_Title_Html[index]["l6"]) != -1) {
|
||||||
|
htmlCodeStr = htmlCodeStr.replaceAll(JSON3_All_Title_Html[index]["l6"], JSON3_All_Title_Html[index]["l7"]);
|
||||||
|
}
|
||||||
|
if (htmlCodeStr.indexOf(JSON3_All_Title_Html[index]["l8"]) != -1) {
|
||||||
|
htmlCodeStr = htmlCodeStr.replaceAll(JSON3_All_Title_Html[index]["l8"], JSON3_All_Title_Html[index]["l9"]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (let index = 0; index < JSON3_All.length; index++) {
|
||||||
|
let LableName = [JSON3_All_Title_Html[index]["l0"], JSON3_All_Title_Html[index]["l1"]];
|
||||||
|
let LableNameArr = ["", ""];
|
||||||
|
if (htmlCodeStr.indexOf(JSON3_All_Title_Html[index]["c0"]) != -1) {
|
||||||
|
LableNameArr[0] = TakeTheMiddleOfTheTextAll(htmlCodeStr, JSON3_All_Title_Html[index]["c0"], ">");
|
||||||
|
} else {
|
||||||
|
LableNameArr[0] = []
|
||||||
|
}
|
||||||
|
if (htmlCodeStr.indexOf(JSON3_All_Title_Html[index]["c1"]) != -1) {
|
||||||
|
LableNameArr[2] = TakeTheMiddleOfTheTextAll(htmlCodeStr, JSON3_All_Title_Html[index]["c1"], ">");
|
||||||
|
} else {
|
||||||
|
LableNameArr[2] = []
|
||||||
|
}
|
||||||
|
if (htmlCodeStr.indexOf(JSON3_All_Title_Html[index]["c2"]) != -1) {
|
||||||
|
LableNameArr[1] = TakeTheMiddleOfTheTextAll(htmlCodeStr, JSON3_All_Title_Html[index]["c2"], ">");
|
||||||
|
} else {
|
||||||
|
LableNameArr[1] = []
|
||||||
|
}
|
||||||
|
|
||||||
|
for (let index_ = 0; index_ < LableNameArr[2].length; index_++) {
|
||||||
|
if (LableNameArr[2][index_].indexOf("</") != -1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
LableNameArr[0][LableNameArr[0].length] = LableNameArr[2][index_];
|
||||||
|
LableNameArr[1][LableNameArr[1].length] = LableNameArr[2][index_];
|
||||||
|
}
|
||||||
|
for (let index_ = 0; index_ < LableNameArr[0].length; index_++) {
|
||||||
|
if (LableNameArr[0][index_].indexOf("</") != -1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (LableNameArr[0][index_].indexOf("<" + LableName[1] + " ") != -1) {
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceHack("<" + LableName[1] + " ", "<" + LableName[0] + " ");
|
||||||
|
}
|
||||||
|
if (LableNameArr[0][index_].indexOf("<" + LableName[1] + ">") != -1) {
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceHack("<" + LableName[1] + ">", "<" + LableName[0] + ">");
|
||||||
|
}
|
||||||
|
//上面已经编译完毕标签,开始编译属性及属性值
|
||||||
|
for (let indexAttr = 0; indexAttr < JSON3_All[index]["children"].length; indexAttr++) {
|
||||||
|
let StyCodeYs = "";//原始的行内样式代码
|
||||||
|
if (LableNameArr[0][index_].indexOf(`style="`) != -1 || LableNameArr[0][index_].indexOf(`行内样式="`) != -1 || LableNameArr[0][index_].indexOf(`style='`) != -1 || LableNameArr[0][index_].indexOf(`行内样式='`) != -1) {
|
||||||
|
if (LableNameArr[0][index_].indexOf(`style="`) != -1) {
|
||||||
|
let ifreplace = false;
|
||||||
|
let StyCode = TakeTheMiddleOfTheTextAll(LableNameArr[0][index_], "style=\"", "\" ");
|
||||||
|
if (StyCode != undefined) {
|
||||||
|
if (StyCode.length >= 1) {
|
||||||
|
StyCodeYs = StyCode[0];
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceHack(StyCode[0], " fofstudioStyCodeYs ")
|
||||||
|
ifreplace = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ifreplace == false) {
|
||||||
|
let StyCode = TakeTheMiddleOfTheTextAll(LableNameArr[0][index_], "style=\"", "\">");
|
||||||
|
if (StyCode != undefined) {
|
||||||
|
if (StyCode.length >= 1) {
|
||||||
|
StyCodeYs = StyCode[0];
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceHack(StyCode[0], " fofstudioStyCodeYs ")
|
||||||
|
ifreplace = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (LableNameArr[0][index_].indexOf(`style='`) != -1) {
|
||||||
|
let ifreplace = false;
|
||||||
|
let StyCode = TakeTheMiddleOfTheTextAll(LableNameArr[0][index_], "style='", "' ");
|
||||||
|
if (StyCode != undefined) {
|
||||||
|
if (StyCode.length >= 1) {
|
||||||
|
StyCodeYs = StyCode[0];
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceHack(StyCode[0], " fofstudioStyCodeYs ")
|
||||||
|
ifreplace = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ifreplace == false) {
|
||||||
|
let StyCode = TakeTheMiddleOfTheTextAll(LableNameArr[0][index_], "style='", "'>");
|
||||||
|
if (StyCode != undefined) {
|
||||||
|
if (StyCode.length >= 1) {
|
||||||
|
StyCodeYs = StyCode[0];
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceHack(StyCode[0], " fofstudioStyCodeYs ")
|
||||||
|
ifreplace = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (LableNameArr[0][index_].indexOf(`行内样式="`) != -1) {
|
||||||
|
let ifreplace = false;
|
||||||
|
let StyCode = TakeTheMiddleOfTheTextAll(LableNameArr[0][index_], "行内样式=\"", "\" ");
|
||||||
|
if (StyCode != undefined) {
|
||||||
|
if (StyCode.length >= 1) {
|
||||||
|
StyCodeYs = StyCode[0];
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceHack(StyCode[0], " fofstudioStyCodeYs ")
|
||||||
|
ifreplace = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ifreplace == false) {
|
||||||
|
let StyCode = TakeTheMiddleOfTheTextAll(LableNameArr[0][index_], "行内样式=\"", "\">");
|
||||||
|
if (StyCode != undefined) {
|
||||||
|
if (StyCode.length >= 1) {
|
||||||
|
StyCodeYs = StyCode[0];
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceHack(StyCode[0], " fofstudioStyCodeYs ")
|
||||||
|
ifreplace = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (LableNameArr[0][index_].indexOf(`行内样式='`) != -1) {
|
||||||
|
let ifreplace = false;
|
||||||
|
let StyCode = TakeTheMiddleOfTheTextAll(LableNameArr[0][index_], "行内样式='", "' ");
|
||||||
|
if (StyCode != undefined) {
|
||||||
|
if (StyCode.length >= 1) {
|
||||||
|
StyCodeYs = StyCode[0];
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceHack(StyCode[0], " fofstudioStyCodeYs ")
|
||||||
|
ifreplace = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ifreplace == false) {
|
||||||
|
let StyCode = TakeTheMiddleOfTheTextAll(LableNameArr[0][index_], "行内样式='", "'>");
|
||||||
|
if (StyCode != undefined) {
|
||||||
|
if (StyCode.length >= 1) {
|
||||||
|
StyCodeYs = StyCode[0];
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceHack(StyCode[0], " fofstudioStyCodeYs ")
|
||||||
|
ifreplace = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let LableNameAttr = [];
|
||||||
|
if (CodeType == 1) {
|
||||||
|
LableNameAttr = [JSON3_All[index]["children"][indexAttr]["title"], JSON3_All[index]["children"][indexAttr]["title_en"]]
|
||||||
|
} else {
|
||||||
|
LableNameAttr = [JSON3_All[index]["children"][indexAttr]["title_en"], JSON3_All[index]["children"][indexAttr]["title"]]
|
||||||
|
}
|
||||||
|
if (LableNameArr[0][index_].indexOf("=\" ") != -1) {
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceAll("=\" ", "htmlkonggeshuangyinhaotihuanfofstudio")//*
|
||||||
|
}
|
||||||
|
if (LableNameArr[0][index_].indexOf("=' ") != -1) {
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceAll("=' ", "htmlkonggedanyinhaotihuanfofstudio")//*
|
||||||
|
}
|
||||||
|
if (LableNameArr[0][index_].indexOf("\"") != -1) {
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceAll("\"", "htmlshuangyinhaotihuanfofstudio")//*
|
||||||
|
}
|
||||||
|
if (LableNameArr[0][index_].indexOf("'") != -1) {
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceAll("'", "htmldanyinhaotihuanfofstudio")//*
|
||||||
|
}
|
||||||
|
let reg = new RegExp("[^0-9a-zA-Z\u4e00-\u9fa5_-]" + LableNameAttr[1] + "(?=[^0-9a-zA-Z\u4e00-\u9fa5_-])", "g");
|
||||||
|
let Original = LableNameArr[0][index_]
|
||||||
|
if (Original.indexOf(LableNameAttr[1]) != -1) {
|
||||||
|
let OriginalStrArr = Original.match(reg);
|
||||||
|
if (OriginalStrArr != undefined && OriginalStrArr != null) {
|
||||||
|
if (OriginalStrArr.length >= 1) {
|
||||||
|
let regCompilerCodeArr = [StrCodeUuid(LableNameAttr[0]), LableNameAttr[0]];
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceHack(reg, regCompilerCodeArr[0]);
|
||||||
|
for (let index = 0; index < OriginalStrArr.length; index++) {
|
||||||
|
let FirstText = OriginalStrArr[index].substring(0, 1);
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceHack(regCompilerCodeArr[0], FirstText + regCompilerCodeArr[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (LableNameArr[0][index_].indexOf("htmldanyinhaotihuanfofstudio") != -1) {
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceAll("htmldanyinhaotihuanfofstudio", "'")//*
|
||||||
|
}
|
||||||
|
if (LableNameArr[0][index_].indexOf("htmlshuangyinhaotihuanfofstudio") != -1) {
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceAll("htmlshuangyinhaotihuanfofstudio", "\"")//*
|
||||||
|
}
|
||||||
|
if (LableNameArr[0][index_].indexOf("htmlkonggeshuangyinhaotihuanfofstudio") != -1) {
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceAll("htmlkonggeshuangyinhaotihuanfofstudio", "=\" ")//*
|
||||||
|
}
|
||||||
|
if (LableNameArr[0][index_].indexOf("htmlkonggedanyinhaotihuanfofstudio") != -1) {
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replaceAll("htmlkonggedanyinhaotihuanfofstudio", "=' ")//*
|
||||||
|
}
|
||||||
|
let LableNameAttrArrData = [];
|
||||||
|
if (LableNameArr[0][index_].indexOf(LableNameAttr[0] + "=\"") != -1) {
|
||||||
|
LableNameAttrArrData = TakeTheMiddleOfTheTextAll(LableNameArr[0][index_], LableNameAttr[0] + "=\"", "\"");
|
||||||
|
if (LableNameAttrArrData.length >= 1) {
|
||||||
|
LableNameArr[0][index_] = LableNameAttrArrDataCompiler(LableNameArr[0][index_], LableNameAttrArrData, index, indexAttr, CodeType, LableNameAttr[0])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (LableNameArr[0][index_].indexOf(LableNameAttr[0] + "='") != -1) {
|
||||||
|
LableNameAttrArrData = TakeTheMiddleOfTheTextAll(LableNameArr[0][index_], LableNameAttr[0] + "='", "'");
|
||||||
|
if (LableNameAttrArrData.length >= 1) {
|
||||||
|
LableNameArr[0][index_] = LableNameAttrArrDataCompiler(LableNameArr[0][index_], LableNameAttrArrData, index, indexAttr, CodeType, LableNameAttr[0])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
LableNameArr[0][index_] = LableNameArr[0][index_].replace(" fofstudioStyCodeYs ", StyCodeYs)
|
||||||
|
}
|
||||||
|
//开始进行全局属性的编译
|
||||||
|
LableNameArr[0][index_] = GlobalAttributes(LableNameArr[0][index_], CodeType)
|
||||||
|
//三方模块自定义属性的编译
|
||||||
|
LableNameArr[0][index_] = UserAttributes(LableNameArr[0][index_], CodeType)
|
||||||
|
//开始进行全局方法的编译
|
||||||
|
LableNameArr[0][index_] = GlobalFun(LableNameArr[0][index_], CodeType, FileID)
|
||||||
|
//开始进行全局样式的编译
|
||||||
|
LableNameArr[0][index_] = Globalstyle(LableNameArr[0][index_], CodeType, FileID)
|
||||||
|
//开始进行全局Class的编译
|
||||||
|
LableNameArr[0][index_] = GlobalClass(LableNameArr[0][index_], CodeType, FileID)
|
||||||
|
//开始进行三方模块的自定义类名编译
|
||||||
|
LableNameArr[0][index_] = UserClassData(LableNameArr[0][index_], CodeType, FileID)
|
||||||
|
//开始进行srcdoc的编译
|
||||||
|
LableNameArr[0][index_] = Globalsrcdoc(LableNameArr[0][index_], CodeType)
|
||||||
|
htmlCodeStr = htmlCodeStr.replaceHack(LableNameArr[1][index_], LableNameArr[0][index_]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
htmlCodeStr = NoHTMLStrCompiler(htmlCodeStr, 2);
|
||||||
|
htmlCodeStr = HtmlCodeMultiline(htmlCodeStr, 2);
|
||||||
|
htmlCodeStr = htmlCodeStr.replaceAll("图像文件*", "图像文件")
|
||||||
|
htmlCodeStr = htmlCodeStr.replaceAll("图像文件/*", "图像文件")
|
||||||
|
htmlCodeStr = htmlCodeStr.replaceAll("image/**", "image/*")
|
||||||
|
return htmlCodeStr;
|
||||||
|
}
|
||||||
|
//LableNameCode-需要进行替换的某匹配标签整体内容
|
||||||
|
//LableNameAttrArrData-匹配到该标签中某个属性的所有属性内容,例如:[xxxx="kkkk",ssssss="kkkk"]
|
||||||
|
//LableIndex-当前遍历的标签位置
|
||||||
|
//indexAttr-当前遍历的标签的属性位置
|
||||||
|
//CodeType-编译类别
|
||||||
|
//NameAttr-属性名称
|
||||||
|
function LableNameAttrArrDataCompiler(LableNameCode, LableNameAttrArrData, LableIndex, indexAttr, CodeType, NameAttr) {
|
||||||
|
for (let index = 0; index < LableNameAttrArrData.length; index++) {
|
||||||
|
let StrOg = LableNameAttrArrData[index];
|
||||||
|
for (let indexAttrData = 0; indexAttrData < JSON3_All[LableIndex]["children"][indexAttr]["children"].length; indexAttrData++) {
|
||||||
|
if (JSON3_All[LableIndex]["children"][indexAttr]["title_en"].indexOf(NameAttr) != -1 && StrOg.indexOf(NameAttr) != -1 || JSON3_All[LableIndex]["children"][indexAttr]["title"].indexOf(NameAttr) != -1 && StrOg.indexOf(NameAttr) != -1) {
|
||||||
|
if (NameAttr.toLowerCase() != "id") {
|
||||||
|
let indexAttrDataArr = [];
|
||||||
|
if (CodeType == 1) {
|
||||||
|
indexAttrDataArr = [JSON3_All[LableIndex]["children"][indexAttr]["children"][indexAttrData]["title"], JSON3_All[LableIndex]["children"][indexAttr]["children"][indexAttrData]["title_en"]]
|
||||||
|
} else {
|
||||||
|
indexAttrDataArr = [JSON3_All[LableIndex]["children"][indexAttr]["children"][indexAttrData]["title_en"], JSON3_All[LableIndex]["children"][indexAttr]["children"][indexAttrData]["title"]]
|
||||||
|
}
|
||||||
|
if (LableNameCode.indexOf("<meta") != -1 || LableNameCode.indexOf("<网页信息") != -1) {
|
||||||
|
LableNameCode = LableNameAttrArrDataCompilerMate(LableNameCode, indexAttrDataArr)
|
||||||
|
} else {
|
||||||
|
if (NameAttr.toLowerCase() != "name") {
|
||||||
|
let reg = new RegExp("[^0-9a-zA-Z\u4e00-\u9fa5_-]" + indexAttrDataArr[1] + "(?=[^0-9a-zA-Z\u4e00-\u9fa5_-])", "g");
|
||||||
|
let Original = LableNameAttrArrData[index];//*
|
||||||
|
let regCompilerCodeArr = [StrCodeUuid(indexAttrDataArr[0]), indexAttrDataArr[0]];
|
||||||
|
LableNameAttrArrData[index] = LableNameAttrArrData[index].replaceHack(reg, regCompilerCodeArr[0]);//*
|
||||||
|
let OriginalStrArr = Original.match(reg);
|
||||||
|
if (OriginalStrArr != undefined && OriginalStrArr != null) {
|
||||||
|
if (OriginalStrArr.length >= 1) {
|
||||||
|
for (let index_ = 0; index_ < OriginalStrArr.length; index_++) {
|
||||||
|
let FirstText = OriginalStrArr[index_].substring(0, 1);
|
||||||
|
LableNameAttrArrData[index] = LableNameAttrArrData[index].replaceHack(regCompilerCodeArr[0], FirstText + regCompilerCodeArr[1]);//*
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
LableNameCode = LableNameCode.replaceHack(StrOg, LableNameAttrArrData[index]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return LableNameCode;
|
||||||
|
}
|
||||||
|
function LableNameAttrArrDataCompilerMate(LableNameCode, indexAttrDataArr) {
|
||||||
|
LableNameCode = LableNameCode.replaceHack(" " + indexAttrDataArr[1] + " ", " " + indexAttrDataArr[0] + " ");
|
||||||
|
LableNameCode = LableNameCode.replaceHack("," + indexAttrDataArr[1] + " ", "," + indexAttrDataArr[0] + " ");
|
||||||
|
LableNameCode = LableNameCode.replaceHack("," + indexAttrDataArr[1] + ",", "," + indexAttrDataArr[0] + ",");
|
||||||
|
LableNameCode = LableNameCode.replaceHack(" " + indexAttrDataArr[1] + ",", " " + indexAttrDataArr[0] + ",");
|
||||||
|
LableNameCode = LableNameCode.replaceHack("\"" + indexAttrDataArr[1] + " ", "\"" + indexAttrDataArr[0] + " ");
|
||||||
|
LableNameCode = LableNameCode.replaceHack("'" + indexAttrDataArr[1] + " ", "'" + indexAttrDataArr[0] + " ");
|
||||||
|
LableNameCode = LableNameCode.replaceHack("'" + indexAttrDataArr[1] + ",", "'" + indexAttrDataArr[0] + ",");
|
||||||
|
LableNameCode = LableNameCode.replaceHack("\"" + indexAttrDataArr[1] + ",", "\"" + indexAttrDataArr[0] + ",");
|
||||||
|
LableNameCode = LableNameCode.replaceHack("\"" + indexAttrDataArr[1] + "\"", "\"" + indexAttrDataArr[0] + "\"");
|
||||||
|
LableNameCode = LableNameCode.replaceHack("'" + indexAttrDataArr[1] + "'", "'" + indexAttrDataArr[0] + "'");
|
||||||
|
LableNameCode = LableNameCode.replaceHack(" " + indexAttrDataArr[1] + "'", " " + indexAttrDataArr[0] + "'");
|
||||||
|
LableNameCode = LableNameCode.replaceHack(" " + indexAttrDataArr[1] + ",", " " + indexAttrDataArr[0] + ",");
|
||||||
|
LableNameCode = LableNameCode.replaceHack(" " + indexAttrDataArr[1] + "\"", " " + indexAttrDataArr[0] + "\"");
|
||||||
|
LableNameCode = LableNameCode.replaceHack("\"" + indexAttrDataArr[1] + "=", "\"" + indexAttrDataArr[0] + "=");
|
||||||
|
LableNameCode = LableNameCode.replaceHack("=" + indexAttrDataArr[1] + ",", "=" + indexAttrDataArr[0] + ",");
|
||||||
|
LableNameCode = LableNameCode.replaceHack("," + indexAttrDataArr[1] + "=", "," + indexAttrDataArr[0] + "=");
|
||||||
|
LableNameCode = LableNameCode.replaceHack("\" " + indexAttrDataArr[1] + "=", "\" " + indexAttrDataArr[0] + "=");
|
||||||
|
LableNameCode = LableNameCode.replaceHack("= " + indexAttrDataArr[1] + ",", "= " + indexAttrDataArr[0] + ",");
|
||||||
|
LableNameCode = LableNameCode.replaceHack(", " + indexAttrDataArr[1] + "=", ", " + indexAttrDataArr[0] + "=");
|
||||||
|
LableNameCode = LableNameCode.replaceHack("=" + indexAttrDataArr[1] + "\"", "=" + indexAttrDataArr[0] + "\"");
|
||||||
|
LableNameCode = LableNameCode.replaceHack("= " + indexAttrDataArr[1] + "\"", "= " + indexAttrDataArr[0] + "\"");
|
||||||
|
LableNameCode = LableNameCode.replaceHack(" =" + indexAttrDataArr[1] + "\"", " =" + indexAttrDataArr[0] + "\"");
|
||||||
|
LableNameCode = LableNameCode.replaceHack(" = " + indexAttrDataArr[1] + "\"", " = " + indexAttrDataArr[0] + "\"");
|
||||||
|
|
||||||
|
LableNameCode = LableNameCode.replaceHack("=" + indexAttrDataArr[1] + "'", "=" + indexAttrDataArr[0] + "'");
|
||||||
|
LableNameCode = LableNameCode.replaceHack("= " + indexAttrDataArr[1] + "'", "= " + indexAttrDataArr[0] + "'");
|
||||||
|
LableNameCode = LableNameCode.replaceHack(" =" + indexAttrDataArr[1] + "'", " =" + indexAttrDataArr[0] + "'");
|
||||||
|
LableNameCode = LableNameCode.replaceHack(" = " + indexAttrDataArr[1] + "'", " = " + indexAttrDataArr[0] + "'");
|
||||||
|
|
||||||
|
LableNameCode = LableNameCode.replaceHack(" = " + indexAttrDataArr[1] + "'", " = " + indexAttrDataArr[0] + "'");
|
||||||
|
LableNameCode = LableNameCode.replaceHack(" = " + indexAttrDataArr[1] + "\"", "= " + indexAttrDataArr[0] + "\"");
|
||||||
|
return LableNameCode;
|
||||||
|
}
|
||||||
|
//不参与编译的HTML相关数据
|
||||||
|
//1代表编译的代码,2代表类型【1是开头,2是结束】
|
||||||
|
function NoHTMLStrCompiler(HtmlCode, IfType) {
|
||||||
|
if (IfType == 1) {
|
||||||
|
HtmlCode = HtmlCode.replaceAll("<!--不翻译开始", "kkcoshtmlbegintihuan")
|
||||||
|
HtmlCode = HtmlCode.replaceAll("不翻译结束-->", "fanbeginkkcoshtmltihuan")
|
||||||
|
StringObj = TakeTheMiddleOfTheTextAll(HtmlCode, "kkcoshtmlbegintihuan", "fanbeginkkcoshtmltihuan")
|
||||||
|
if (StringObj != undefined && StringObj != null) {
|
||||||
|
if (StringObj.length >= 1) {
|
||||||
|
for (let index = 0; index < StringObj.length; index++) {
|
||||||
|
let StrCodeLs = [StrCodeUuid(StringObj[index]), StringObj[index]]
|
||||||
|
HtmlCode = HtmlCode.replaceHack(StringObj[index], StrCodeLs[0])
|
||||||
|
NOHtmlCodeJSonCompilerStr[NOHtmlCodeJSonCompilerStr.length] = StrCodeLs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (IfType == 2) {
|
||||||
|
for (let index = 0; index < NOHtmlCodeJSonCompilerStr.length; index++) {
|
||||||
|
let StrCodeLs = NOHtmlCodeJSonCompilerStr[NOHtmlCodeJSonCompilerStr.length - index - 1]
|
||||||
|
HtmlCode = HtmlCode.replaceHack(StrCodeLs[0], StrCodeLs[1])
|
||||||
|
}
|
||||||
|
HtmlCode = HtmlCode.replaceAll("kkcoshtmlbegintihuan", "<!--不翻译开始")
|
||||||
|
HtmlCode = HtmlCode.replaceAll("fanbeginkkcoshtmltihuan", "不翻译结束-->")
|
||||||
|
}
|
||||||
|
return HtmlCode;
|
||||||
|
}
|
||||||
|
function HtmlCodeMultiline(htmlStr, ifStr = 1) {
|
||||||
|
if (ifStr == 1) {
|
||||||
|
htmlStr = htmlStr.replaceAll("\r\n", " KKCOSAPPFOFCODEIDE20131101315789 ");
|
||||||
|
htmlStr = htmlStr.replaceAll("\n", " KKCOSAPPFOFCODEIDE10131101315789 ");
|
||||||
|
return htmlStr;
|
||||||
|
}
|
||||||
|
htmlStr = htmlStr.replaceAll(" KKCOSAPPFOFCODEIDE20131101315789 ", "\r\n");
|
||||||
|
htmlStr = htmlStr.replaceAll(" KKCOSAPPFOFCODEIDE10131101315789 ", "\n");
|
||||||
|
return htmlStr;
|
||||||
|
}
|
||||||
|
//判断是否双引号或者单引号单数
|
||||||
|
function HtmlCountOccurrences(str) {
|
||||||
|
let syhLetInt = str.split("\"").length - 1;
|
||||||
|
if (syhLetInt >= 1) {
|
||||||
|
if (syhLetInt % 2 === 0) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
syhLetInt = str.split("'").length - 1;
|
||||||
|
if (syhLetInt >= 1) {
|
||||||
|
if (syhLetInt % 2 === 0) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
1156
js/html/CompilerHtmlOverall.js
Normal file
1156
js/html/CompilerHtmlOverall.js
Normal file
File diff suppressed because it is too large
Load Diff
77447
js/json/CssCompilation.js
Normal file
77447
js/json/CssCompilation.js
Normal file
File diff suppressed because it is too large
Load Diff
3153
js/json/HTMLTripartiteClass.js
Normal file
3153
js/json/HTMLTripartiteClass.js
Normal file
File diff suppressed because it is too large
Load Diff
7549
js/json/HTMLcompilation.js
Normal file
7549
js/json/HTMLcompilation.js
Normal file
File diff suppressed because it is too large
Load Diff
892
js/json/HTMLcompilation2.js
Normal file
892
js/json/HTMLcompilation2.js
Normal file
@@ -0,0 +1,892 @@
|
|||||||
|
let HTMLcompilation2_ = [
|
||||||
|
{
|
||||||
|
"T_title" : "!文档类型",
|
||||||
|
"T_title_en" : "!DOCTYPE",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "网页",
|
||||||
|
"T_title_en" : "html",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "网页标题",
|
||||||
|
"T_title_en" : "title",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "网页主体",
|
||||||
|
"T_title_en" : "body",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "区块",
|
||||||
|
"T_title_en" : "div",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "标题1",
|
||||||
|
"T_title_en" : "h1",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "标题2",
|
||||||
|
"T_title_en" : "h2",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "标题3",
|
||||||
|
"T_title_en" : "h3",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "标题4",
|
||||||
|
"T_title_en" : "h4",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "标题5",
|
||||||
|
"T_title_en" : "h5",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "标题6",
|
||||||
|
"T_title_en" : "h6",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "段落",
|
||||||
|
"T_title_en" : "p",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "换行",
|
||||||
|
"T_title_en" : "br",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "分割线",
|
||||||
|
"T_title_en" : "hr",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "行内元素",
|
||||||
|
"T_title_en" : "span",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "头部内容",
|
||||||
|
"T_title_en" : "header",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "底部内容",
|
||||||
|
"T_title_en" : "footer",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "区域内容",
|
||||||
|
"T_title_en" : "section",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "文章",
|
||||||
|
"T_title_en" : "article",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "附近内容",
|
||||||
|
"T_title_en" : "aside",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "详情",
|
||||||
|
"T_title_en" : "details",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "详情标题",
|
||||||
|
"T_title_en" : "summary",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "提示对话框",
|
||||||
|
"T_title_en" : "dialog",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "缩写",
|
||||||
|
"T_title_en" : "abbr",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "作者信息",
|
||||||
|
"T_title_en" : "address",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "粗体",
|
||||||
|
"T_title_en" : "b",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "隔离区域",
|
||||||
|
"T_title_en" : "bdi",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "文本方向",
|
||||||
|
"T_title_en" : "bdo",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "内容引用",
|
||||||
|
"T_title_en" : "blockquote",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "作品标题",
|
||||||
|
"T_title_en" : "cite",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "代码",
|
||||||
|
"T_title_en" : "code",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "删除文本",
|
||||||
|
"T_title_en" : "del",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "定义项目",
|
||||||
|
"T_title_en" : "dfn",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "强调文本",
|
||||||
|
"T_title_en" : "em",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "斜体文本",
|
||||||
|
"T_title_en" : "i",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "插入文本",
|
||||||
|
"T_title_en" : "ins",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "高亮显示",
|
||||||
|
"T_title_en" : "mark",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "度量尺",
|
||||||
|
"T_title_en" : "meter",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "源代码文本",
|
||||||
|
"T_title_en" : "pre",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "进度条",
|
||||||
|
"T_title_en" : "progress",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "短引用",
|
||||||
|
"T_title_en" : "q",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "删除线",
|
||||||
|
"T_title_en" : "s",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "样本文本",
|
||||||
|
"T_title_en" : "samp",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "旁注文本",
|
||||||
|
"T_title_en" : "small",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "重要文本",
|
||||||
|
"T_title_en" : "strong",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "下标文本",
|
||||||
|
"T_title_en" : "sub",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "上标文本",
|
||||||
|
"T_title_en" : "sup",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "时间文本",
|
||||||
|
"T_title_en" : "time",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "下划线",
|
||||||
|
"T_title_en" : "u",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "可变值",
|
||||||
|
"T_title_en" : "var",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "高级换行",
|
||||||
|
"T_title_en" : "wbr",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表单",
|
||||||
|
"T_title_en" : "form",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "数据框",
|
||||||
|
"T_title_en" : "input",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "多行文本框",
|
||||||
|
"T_title_en" : "textarea",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "按钮",
|
||||||
|
"T_title_en" : "button",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "下拉列表",
|
||||||
|
"T_title_en" : "select",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "列表分组",
|
||||||
|
"T_title_en" : "optgroup",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "列表选项",
|
||||||
|
"T_title_en" : "option",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "数据框标注",
|
||||||
|
"T_title_en" : "label",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表单分组框",
|
||||||
|
"T_title_en" : "fieldset",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表单分组框标题",
|
||||||
|
"T_title_en" : "legend",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "数据框下拉列表",
|
||||||
|
"T_title_en" : "datalist",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "计算结果",
|
||||||
|
"T_title_en" : "output",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "内联框架",
|
||||||
|
"T_title_en" : "iframe",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "图片框",
|
||||||
|
"T_title_en" : "img",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "图片映射",
|
||||||
|
"T_title_en" : "map",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "映射区域",
|
||||||
|
"T_title_en" : "area",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "画板",
|
||||||
|
"T_title_en" : "canvas",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "独立流内容标题",
|
||||||
|
"T_title_en" : "figcaption",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "独立流内容",
|
||||||
|
"T_title_en" : "figure",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "音频播放",
|
||||||
|
"T_title_en" : "audio",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "媒体资源",
|
||||||
|
"T_title_en" : "source",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "字幕媒体",
|
||||||
|
"T_title_en" : "track",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "视频播放",
|
||||||
|
"T_title_en" : "video",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "超链接",
|
||||||
|
"T_title_en" : "a",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "加载样式库",
|
||||||
|
"T_title_en" : "link",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "唯一主体",
|
||||||
|
"T_title_en" : "main",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "超链接分组",
|
||||||
|
"T_title_en" : "nav",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "无序列表",
|
||||||
|
"T_title_en" : "ul",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "有序列表",
|
||||||
|
"T_title_en" : "ol",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "列表项",
|
||||||
|
"T_title_en" : "li",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "描述列表",
|
||||||
|
"T_title_en" : "dl",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "描述列表标题",
|
||||||
|
"T_title_en" : "dt",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "描述列表项",
|
||||||
|
"T_title_en" : "dd",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "菜单列表",
|
||||||
|
"T_title_en" : "menu",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表格",
|
||||||
|
"T_title_en" : "table",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表格标题",
|
||||||
|
"T_title_en" : "caption",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表格头",
|
||||||
|
"T_title_en" : "th",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表格行",
|
||||||
|
"T_title_en" : "tr",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表格内容",
|
||||||
|
"T_title_en" : "td",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表格头组",
|
||||||
|
"T_title_en" : "thead",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表格内容组",
|
||||||
|
"T_title_en" : "tbody",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表格尾组",
|
||||||
|
"T_title_en" : "tfoot",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表格格式列组值",
|
||||||
|
"T_title_en" : "col",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表格格式列组",
|
||||||
|
"T_title_en" : "colgroup",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "脚本失败提示",
|
||||||
|
"T_title_en" : "noscript",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "嵌入容器",
|
||||||
|
"T_title_en" : "embed",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "嵌入对象",
|
||||||
|
"T_title_en" : "object",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "对象参数",
|
||||||
|
"T_title_en" : "param",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "网页头部",
|
||||||
|
"T_title_en" : "head",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "网页信息",
|
||||||
|
"T_title_en" : "meta",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "默认目标",
|
||||||
|
"T_title_en" : "base",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "高级图片框",
|
||||||
|
"T_title_en" : "picture",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "命令调用",
|
||||||
|
"T_title_en" : "command",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "菜单项目",
|
||||||
|
"T_title_en" : "menuitem",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "矢量标签",
|
||||||
|
"T_title_en" : "svg",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "多边形",
|
||||||
|
"T_title_en" : "polygon",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "区块",
|
||||||
|
"T_title_en" : "view",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "图标框",
|
||||||
|
"T_title_en" : "icon",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "文本框",
|
||||||
|
"T_title_en" : "text",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "滚动容器",
|
||||||
|
"T_title_en" : "scroll-view",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "滑块容器",
|
||||||
|
"T_title_en" : "swiper",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "滑块子项",
|
||||||
|
"T_title_en" : "swiper-item",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "图片框",
|
||||||
|
"T_title_en" : "image",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "视频播放",
|
||||||
|
"T_title_en" : "video",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "按钮",
|
||||||
|
"T_title_en" : "button",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "超链接",
|
||||||
|
"T_title_en" : "navigator",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "适配容器",
|
||||||
|
"T_title_en" : "match-media",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "可拖动范围",
|
||||||
|
"T_title_en" : "movable-area",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "可拖动容器",
|
||||||
|
"T_title_en" : "movable-view",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "覆盖原生组件",
|
||||||
|
"T_title_en" : "cover-view",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "进度条",
|
||||||
|
"T_title_en" : "progress",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "选择框",
|
||||||
|
"T_title_en" : "checkbox",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "多项选择框",
|
||||||
|
"T_title_en" : "checkbox-group",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表单",
|
||||||
|
"T_title_en" : "form",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "输入框",
|
||||||
|
"T_title_en" : "input",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "基础标签",
|
||||||
|
"T_title_en" : "label",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "滚动选择器",
|
||||||
|
"T_title_en" : "picker",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "单选框",
|
||||||
|
"T_title_en" : "radio",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "单选框分组",
|
||||||
|
"T_title_en" : "radio-group",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "滑块条",
|
||||||
|
"T_title_en" : "slider",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "开关",
|
||||||
|
"T_title_en" : "switch",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "多行输入框",
|
||||||
|
"T_title_en" : "textarea",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "页面",
|
||||||
|
"T_title_en" : "template",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "脚本",
|
||||||
|
"T_title_en" : "script",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "画板",
|
||||||
|
"T_title_en" : "canvas",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "样式",
|
||||||
|
"T_title_en" : "style",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "样式",
|
||||||
|
"T_title_en" : "style",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "脚本",
|
||||||
|
"T_title_en" : "script",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "角标",
|
||||||
|
"T_title_en" : "uni-badge",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "日历选择器",
|
||||||
|
"T_title_en" : "uni-calendar",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "折叠面板",
|
||||||
|
"T_title_en" : "uni-collapse",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "折叠面板子项",
|
||||||
|
"T_title_en" : "uni-collapse-item",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "组合框",
|
||||||
|
"T_title_en" : "uni-combox",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "下拉菜单",
|
||||||
|
"T_title_en" : "uni-data-select",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "卡片分组器",
|
||||||
|
"T_title_en" : "uni-group",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "索引选择器",
|
||||||
|
"T_title_en" : "uni-indexed-list",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "高级编辑框",
|
||||||
|
"T_title_en" : "uni-easyinput",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "自定义导航",
|
||||||
|
"T_title_en" : "uni-nav-bar",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "通告栏",
|
||||||
|
"T_title_en" : "uni-notice-bar",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "数字叠加器",
|
||||||
|
"T_title_en" : "uni-number-box",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "评分选择器",
|
||||||
|
"T_title_en" : "uni-rate",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "步骤条",
|
||||||
|
"T_title_en" : "uni-steps",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "图标扩展",
|
||||||
|
"T_title_en" : "uni-icons",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表格",
|
||||||
|
"T_title_en" : "uni-table",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "搜索",
|
||||||
|
"T_title_en" : "uni-search-bar",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "加载更多",
|
||||||
|
"T_title_en" : "uni-load-more",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "列表",
|
||||||
|
"T_title_en" : "uni-list",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "列表项",
|
||||||
|
"T_title_en" : "uni-list-item",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表格行",
|
||||||
|
"T_title_en" : "uni-tr",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表格头",
|
||||||
|
"T_title_en" : "uni-th",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表格内容",
|
||||||
|
"T_title_en" : "uni-td",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "分页",
|
||||||
|
"T_title_en" : "uni-pagination",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "弹出层",
|
||||||
|
"T_title_en" : "uni-popup",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表单扩展",
|
||||||
|
"T_title_en" : "uni-forms",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "表单项目",
|
||||||
|
"T_title_en" : "uni-forms-item",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "聊天列表",
|
||||||
|
"T_title_en" : "uni-list-chat",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "相机",
|
||||||
|
"T_title_en" : "camera",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "富文本",
|
||||||
|
"T_title_en" : "rich-text",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "浏览框",
|
||||||
|
"T_title_en" : "web-view",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "图文广告",
|
||||||
|
"T_title_en" : "ad",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "抽屉",
|
||||||
|
"T_title_en" : "uni-drawer",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "悬浮按钮",
|
||||||
|
"T_title_en" : "uni-fab",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "宫格子项",
|
||||||
|
"T_title_en" : "uni-grid-item",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "宫格",
|
||||||
|
"T_title_en" : "uni-grid",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "标题栏",
|
||||||
|
"T_title_en" : "uni-section",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "商品导航",
|
||||||
|
"T_title_en" : "uni-goods-nav",
|
||||||
|
"T_libraryID" : "16677044843047"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "桌面端框架",
|
||||||
|
"T_title_en" : "webview",
|
||||||
|
"T_libraryID" : "16377337041892"
|
||||||
|
}
|
||||||
|
]
|
5449
js/json/HTMLcompilationAttr.js
Normal file
5449
js/json/HTMLcompilationAttr.js
Normal file
File diff suppressed because it is too large
Load Diff
457
js/json/HTMLcompilationFun.js
Normal file
457
js/json/HTMLcompilationFun.js
Normal file
@@ -0,0 +1,457 @@
|
|||||||
|
let HTMLcompilationFun_ = [
|
||||||
|
{
|
||||||
|
"title" : "打印对话框出现后执行",
|
||||||
|
"title_en" : "onafterprint",
|
||||||
|
"id" : "16413770005022",
|
||||||
|
"usage" : "在用户设置页面打印及打印对话框出现后触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 executeAfterPrinting()\n{\n 信息框(\"Document is printing\");\n}\n</脚本>\n<网页主体 打印对话框出现后执行=\"executeAfterPrinting()\">"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "打印对话框出现前执行",
|
||||||
|
"title_en" : "onbeforeprint",
|
||||||
|
"id" : "16413794409456",
|
||||||
|
"usage" : "在用户设置页面打印及打印对话框出现前触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 executeBeforePrinting()\n{\n 信息框(\"Document is printing\");\n}\n</脚本>\n<网页主体 打印对话框出现前执行=\"executeBeforePrinting()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "文档卸载前",
|
||||||
|
"title_en" : "onbeforeonload",
|
||||||
|
"id" : "16413836868082",
|
||||||
|
"usage" : "文档卸载前 事件在HTML文档被卸载之前。",
|
||||||
|
"explain" : "<网页主体 文档卸载前=\"myFunction()\">\n<超链接 链接地址=\"http://www.lkuaiy.com\">Are you sure you want to jump to the new page?</超链接>\n<脚本>\n定义函数 myFunction() {\n 返回 \"Hello\";\n}\n</脚本>\n</网页主体>"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "失去焦点回调",
|
||||||
|
"title_en" : "onblur",
|
||||||
|
"id" : "16413978086646",
|
||||||
|
"usage" : "失去焦点回调 事件会在对象失去焦点时发生。",
|
||||||
|
"explain" : "<数据框 数据类型=\"Text input\" 失去焦点回调=\"myFunction()\">\n<脚本>\n定义函数 myFunction()\n{\n 信息框(\"Document is printing\");\n}\n</脚本>"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "点击回调",
|
||||||
|
"title_en" : "onclick",
|
||||||
|
"id" : "16467352751022",
|
||||||
|
"usage" : "点击回调 事件会在元素被点击时发生。",
|
||||||
|
"explain" : "<脚本>\n定义函数 click()\n{\n 信息框(\"Click successfully\");\n}\n</脚本>\n<网页主体 点击回调=\"click()\">"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "打开上下文菜单回调",
|
||||||
|
"title_en" : "oncontextmenu",
|
||||||
|
"id" : "16467354506961",
|
||||||
|
"usage" : "打开上下文菜单回调 事件在元素中用户右击鼠标时触发并打开上下文菜单。",
|
||||||
|
"explain" : "<脚本>\n定义函数 contextmenu()\n{\n 信息框(\"Menu opening\");\n}\n</脚本>\n<网页主体 打开上下文菜单回调=\"contextmenu()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "双击回调",
|
||||||
|
"title_en" : "ondblclick",
|
||||||
|
"id" : "16467354758881",
|
||||||
|
"usage" : "双击回调 事件会在对象被双击时发生。",
|
||||||
|
"explain" : "<脚本>\n定义函数 dblclick()\n{\n 信息框(\"I was double clicked\");\n}\n</脚本>\n<网页主体 双击回调=\"dblclick()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "按下鼠标回调",
|
||||||
|
"title_en" : "onmousedown ",
|
||||||
|
"id" : "16467894655372",
|
||||||
|
"usage" : "按下鼠标回调 事件会在鼠标按键被按下时发生。",
|
||||||
|
"explain" : "<脚本>\n定义函数 mousedown()\n{\n 信息框(\"Mouse pressed\");\n}\n</脚本>\n<网页主体 onmousedown=\"mousedown()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "鼠标移入回调2",
|
||||||
|
"title_en" : "onmouseenter",
|
||||||
|
"id" : "16467895136357",
|
||||||
|
"usage" : "鼠标移入回调2 事件在鼠标指针移动到元素上时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 mouseenter()\n{\n 信息框(\"The mouse was moved in\");\n}\n</脚本>\n<网页主体 鼠标移入回调2=\"mouseenter()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "移出鼠标回调2",
|
||||||
|
"title_en" : "onmouseleave",
|
||||||
|
"id" : "16467895693826",
|
||||||
|
"usage" : "移出鼠标回调2 事件在鼠标移出元素时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 mouseleave()\n{\n 信息框(\"The mouse was moved out\");\n}\n</脚本>\n<网页主体 移出鼠标回调2=\"mouseleave()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "移动鼠标回调",
|
||||||
|
"title_en" : "onmousemove",
|
||||||
|
"id" : "16467895949091",
|
||||||
|
"usage" : "移动鼠标回调 事件会在鼠标指针移到指定的对象时发生。",
|
||||||
|
"explain" : "<脚本>\n定义函数 mousemove()\n{\n 信息框(\"The mouse was moved\");\n}\n</脚本>\n<网页主体 移动鼠标回调=\"mousemove()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "鼠标移入回调",
|
||||||
|
"title_en" : "onmouseover",
|
||||||
|
"id" : "16467898885276",
|
||||||
|
"usage" : "鼠标移入回调 事件会在鼠标指针移动到指定的元素上时发生。",
|
||||||
|
"explain" : "<脚本>\n定义函数 mouseover()\n{\n 信息框(\"The mouse moved in\");\n}\n</脚本>\n<网页主体 onmouseovert=\"mouseover()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "鼠标移出回调",
|
||||||
|
"title_en" : "onmouseout",
|
||||||
|
"id" : "16467899096486",
|
||||||
|
"usage" : "鼠标移出回调 事件会在鼠标指针移出指定的对象时发生。",
|
||||||
|
"explain" : "<脚本>\n定义函数 mouseout()\n{\n 信息框(\"The mouse was removed\");\n}\n</脚本>\n<网页主体 鼠标移出回调=\"mouseout()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "松开鼠标回调",
|
||||||
|
"title_en" : "onmouseup",
|
||||||
|
"id" : "16467899495894",
|
||||||
|
"usage" : "松开鼠标回调 事件会在鼠标按键被松开时发生。",
|
||||||
|
"explain" : "<脚本>\n定义函数 mouseup()\n{\n 信息框(\"The mouse was released\");\n}\n</脚本>\n<网页主体 松开鼠标回调=\"mouseup()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "按下键盘回调",
|
||||||
|
"title_en" : "onkeydown",
|
||||||
|
"id" : "16467899815598",
|
||||||
|
"usage" : "按下键盘回调 事件会在用户按下一个键盘按键时发生。",
|
||||||
|
"explain" : "<脚本>\n定义函数 keydown()\n{\n 信息框(\"The keyboard was pressed\");\n}\n</脚本>\n<网页主体 按下键盘回调=\"keydown()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "键盘点击回调",
|
||||||
|
"title_en" : "onkeypress",
|
||||||
|
"id" : "16467900089435",
|
||||||
|
"usage" : "键盘点击回调 事件会在键盘按键被按下并释放一个键时发生。",
|
||||||
|
"explain" : "<脚本>\n定义函数 keypress()\n{\n 信息框(\"The keyboard has been clicked\");\n}\n</脚本>\n<网页主体 键盘点击回调=\"keypress()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "键盘松开回调",
|
||||||
|
"title_en" : "onkeyup",
|
||||||
|
"id" : "16467900393644",
|
||||||
|
"usage" : "键盘松开回调 事件会在键盘按键被松开时发生。",
|
||||||
|
"explain" : "<脚本>\n定义函数 keyup()\n{\n 信息框(\"The keyboard is released\");\n}\n</脚本>\n<网页主体 键盘松开回调=\"keyup()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "离开页面回调",
|
||||||
|
"title_en" : "onbeforeunload",
|
||||||
|
"id" : "16467902383337",
|
||||||
|
"usage" : "离开页面回调 事件在即将离开当前页面(刷新或关闭)时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 beforeunload()\n{\n 信息框(\"Left the page\");\n}\n</脚本>\n<网页主体 离开页面回调=\"beforeunload()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "加载文件错误回调",
|
||||||
|
"title_en" : "onerror",
|
||||||
|
"id" : "16467904811784",
|
||||||
|
"usage" : "加载文件错误回调 事件在加载外部文件(文档或图像)发生错误时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 error()\n{\n 信息框(\"Error loading file\");\n}\n</脚本>\n<网页主体 加载文件错误回调=\"error()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "锚点变化回调",
|
||||||
|
"title_en" : "onhashchange",
|
||||||
|
"id" : "16467905583209",
|
||||||
|
"usage" : "锚点变化回调 事件在当前 URL 的锚部分(以 '#' 号为开始) 发生改变时触发 。",
|
||||||
|
"explain" : "<脚本>\n定义函数 hashchange()\n{\n 信息框(\"hashchange\");\n}\n</脚本>\n<网页主体 锚点变化回调=\"hashchange()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "加载完成回调",
|
||||||
|
"title_en" : "onload",
|
||||||
|
"id" : "16467905896920",
|
||||||
|
"usage" : "加载完成回调 事件会在页面或图像加载完成后立即发生。",
|
||||||
|
"explain" : "<脚本>\n定义函数 load()\n{\n 信息框(\"Loading completed\");\n}\n</脚本>\n<网页主体 加载完成回调=\"load()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "浏览网页回调",
|
||||||
|
"title_en" : "onpageshow",
|
||||||
|
"id" : "16467907016585",
|
||||||
|
"usage" : "浏览网页回调 事件在用户浏览网页时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 pageshow()\n{\n 信息框(\"Web browsing was triggered\");\n}\n</脚本>\n<网页主体 浏览网页回调=\"pageshow()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "离开网页回调",
|
||||||
|
"title_en" : "onpagehide",
|
||||||
|
"id" : "16467907361738",
|
||||||
|
"usage" : "离开网页回调 事件在用户离开网页时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 pagehide()\n{\n 信息框(\"Leaving the page was triggered\");\n}\n</脚本>\n<网页主体 离开网页回调=\"pagehide()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "调整浏览器大小时回调",
|
||||||
|
"title_en" : "onresize",
|
||||||
|
"id" : "16467908182943",
|
||||||
|
"usage" : "调整浏览器大小时回调 事件会在窗口或框架被调整大小时发生。",
|
||||||
|
"explain" : "<脚本>\n定义函数 resize()\n{\n 信息框(\"I was triggered when I resized my browser\");\n}\n</脚本>\n<网页主体 调整浏览器大小时回调=\"resize()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "滚动时回调",
|
||||||
|
"title_en" : "onscroll",
|
||||||
|
"id" : "16467908505337",
|
||||||
|
"usage" : "滚动时回调 事件在元素滚动条在滚动时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 scroll()\n{\n 信息框(\"Triggered while scrolling\");\n}\n</脚本>\n<网页主体 滚动时回调=\"scroll()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "未载入回调",
|
||||||
|
"title_en" : "onunload",
|
||||||
|
"id" : "16467909089840",
|
||||||
|
"usage" : "未载入回调 事件在用户退出页面时发生。",
|
||||||
|
"explain" : "<脚本>\n定义函数 unload()\n{\n 信息框(\"I was popped up when I exited the page\");\n}\n</脚本>\n<网页主体 未载入回调=\"unload()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "元素改变",
|
||||||
|
"title_en" : "onchange",
|
||||||
|
"id" : "16467910947787",
|
||||||
|
"usage" : "元素改变 事件当元素内容被改变时被触发",
|
||||||
|
"explain" : "<脚本>\n定义函数 change()\n{\n 信息框(\"change\");\n}\n</脚本>\n<网页主体 元素改变=\"change()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "获取焦点回调",
|
||||||
|
"title_en" : "onfocus",
|
||||||
|
"id" : "16467911429473",
|
||||||
|
"usage" : "获取焦点回调 事件在对象获得焦点时发生。",
|
||||||
|
"explain" : "<脚本>\n定义函数 获得焦点()\n{\n 信息框(\"focus\");\n}\n</脚本>\n<网页主体 获取焦点回调=\"获得焦点()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "即将获取焦点回调",
|
||||||
|
"title_en" : "onfocusin",
|
||||||
|
"id" : "16467912431375",
|
||||||
|
"usage" : "即将获取焦点回调 事件在一个元素即将获得焦点时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 focusin()\n{\n 信息框(\"focusin\");\n}\n</脚本>\n<网页主体 即将获取焦点回调=\"focusin()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "即将失去焦点回调",
|
||||||
|
"title_en" : "onfocusout",
|
||||||
|
"id" : "16467912649033",
|
||||||
|
"usage" : "即将失去焦点回调 事件在元素即将失去焦点时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 focusout()\n{\n 信息框(\"Triggered when you are about to lose focus\");\n}\n</脚本>\n<网页主体 即将失去焦点回调=\"focusout()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "用户输入回调",
|
||||||
|
"title_en" : "oninput",
|
||||||
|
"id" : "16467912929470",
|
||||||
|
"usage" : "用户输入回调 事件在用户输入时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 input()\n{\n 信息框(\"Triggered on input\");\n}\n</脚本>\n<网页主体 用户输入回调=\"input()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "重置表单回调",
|
||||||
|
"title_en" : "onreset",
|
||||||
|
"id" : "16467914579914",
|
||||||
|
"usage" : "重置表单回调 事件在表单被重置后触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 reset()\n{\n 信息框(\"Triggered after the form is reset\");\n}\n</脚本>\n<网页主体 重置表单回调=\"reset()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "提交搜索回调",
|
||||||
|
"title_en" : "onsearch",
|
||||||
|
"id" : "16467915228103",
|
||||||
|
"usage" : "提交搜索回调 事件在用户按下\"ENTER(回车)\" 按键或点击 数据类型=\"提交搜索\" 的 <数据框> 元素的 \"x(搜索)\" 按钮时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 search()\n{\n 信息框(\"Triggered when submitting search\");\n}\n</脚本>\n<网页主体 提交搜索回调=\"search()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "文本选中回调",
|
||||||
|
"title_en" : "onselect",
|
||||||
|
"id" : "16467916039481",
|
||||||
|
"usage" : "文本选中回调 事件会在文本框中的文本被选中时发生。",
|
||||||
|
"explain" : "<脚本>\n定义函数 select()\n{\n 信息框(\"Triggered when the text in the text box is selected\");\n}\n</脚本>\n<网页主体 文本选中回调=\"select()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "表单提交回调",
|
||||||
|
"title_en" : "onsubmit",
|
||||||
|
"id" : "16467916352336",
|
||||||
|
"usage" : "表单提交回调 事件在表单提交时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 submit()\n{\n 信息框(\"Triggered on form submission\");\n}\n</脚本>\n<网页主体 表单提交回调=\"submit()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "复制回调",
|
||||||
|
"title_en" : "oncopy",
|
||||||
|
"id" : "16467916866186",
|
||||||
|
"usage" : "复制回调 事件在用户拷贝元素上的内容时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 copy()\n{\n 信息框(\"Triggered when the content of an element is copied\");\n}\n</脚本>\n<网页主体 复制回调=\"copy()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "剪切回调",
|
||||||
|
"title_en" : "oncut",
|
||||||
|
"id" : "16467917112395",
|
||||||
|
"usage" : "剪切回调 事件在用户剪切元素的内容时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 cut()\n{\n 信息框(\"Triggered when the content of an element is cut\");\n}\n</脚本>\n<网页主体 剪切回调=\"cut()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "粘贴回调",
|
||||||
|
"title_en" : "onpaste",
|
||||||
|
"id" : "16467917327844",
|
||||||
|
"usage" : "粘贴回调 事件在用户向元素中粘贴文本时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 paste()\n{\n 信息框(\"Triggered when text is pasted into an element\");\n}\n</脚本>\n<网页主体 粘贴回调=\"paste()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "拖动时回调",
|
||||||
|
"title_en" : "ondrag",
|
||||||
|
"id" : "16467920072368",
|
||||||
|
"usage" : "拖动时回调 事件在元素或者选取的文本被拖动时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 drag()\n{\n 信息框(\"Triggered when an element or selected text is dragged\");\n}\n</脚本>\n<网页主体 拖动时回调=\"drag()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "拖动完成回调",
|
||||||
|
"title_en" : "ondragend",
|
||||||
|
"id" : "16467921224267",
|
||||||
|
"usage" : "拖动完成回调 事件在用户完成元素或首选文本的拖动时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 dragend()\n{\n 信息框(\"Triggered when the drag of an element or preferred text is complete\");\n}\n</脚本>\n<网页主体 拖动完成回调=\"dragend()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "拖动进入放置区域回调",
|
||||||
|
"title_en" : "ondragenter",
|
||||||
|
"id" : "16467922212544",
|
||||||
|
"usage" : "拖动进入放置区域回调 事件在拖动的元素或选择的文本进入到有效的放置目标时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 dragenter()\n{\n 信息框(\"Triggered when the dragged element or selected text enters a valid placement target\");\n}\n</脚本>\n<网页主体 拖动进入放置区域回调=\"dragenter()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "拖动离开放置区域回调",
|
||||||
|
"title_en" : "ondragleave",
|
||||||
|
"id" : "16467923589793",
|
||||||
|
"usage" : "拖动离开放置区域回调 事件在可拖动的元素或选取的文本移出放置目标时执触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 dragleave()\n{\n 信息框(\"Triggered when a draggable element or selected text moves out of the drop target\");\n}\n</脚本>\n<网页主体 拖动离开放置区域回调=\"dragleave()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "拖动到放置区域回调",
|
||||||
|
"title_en" : "ondragover",
|
||||||
|
"id" : "16467924086739",
|
||||||
|
"usage" : "拖动到放置区域回调 事件在可拖动元素或选取的文本正在拖动到放置目标时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 dragover()\n{\n 信息框(\"Triggered when a draggable element or selected text is being dragged to the drop target\");\n}\n</脚本>\n<网页主体 拖动到放置区域回调=\"dragover()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "拖动开始回调",
|
||||||
|
"title_en" : "ondragstart",
|
||||||
|
"id" : "16467924343629",
|
||||||
|
"usage" : "拖动开始回调 事件在用户开始拖动元素或选择的文本时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 dragstart()\n{\n 信息框(\"Triggered when you start dragging an element or selected text\");\n}\n</脚本>\n<网页主体 拖动开始回调=\"dragstart()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "拖动放置回调",
|
||||||
|
"title_en" : "ondrop",
|
||||||
|
"id" : "16467924732207",
|
||||||
|
"usage" : "拖动放置回调 事件在可拖动元素或选取的文本放置在目标区域时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 drop()\n{\n 信息框(\"Triggered when a draggable element or selected text is placed in the target area\");\n}\n</脚本>\n<网页主体 拖动放置回调=\"drop()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体加载完成回调",
|
||||||
|
"title_en" : "onabort",
|
||||||
|
"id" : "16467926582443",
|
||||||
|
"usage" : "多媒体加载完成回调 事件在音视频终止加载时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 abort()\n{\n 信息框(\"Triggered when the loading of audio and video is terminated\");\n}\n</脚本>\n<网页主体 多媒体加载完成回调=\"abort()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体可以播放回调",
|
||||||
|
"title_en" : "oncanplay",
|
||||||
|
"id" : "16467927814567",
|
||||||
|
"usage" : "多媒体可以播放回调 事件在用户可以开始播放音视频时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 canplay()\n{\n 信息框(\"Triggered when the user can start playing audio and video\");\n}\n</脚本>\n<网页主体 多媒体可以播放回调=\"canplay()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体可以播放且不缓冲回调",
|
||||||
|
"title_en" : "oncanplaythrough",
|
||||||
|
"id" : "16467930129040",
|
||||||
|
"usage" : "多媒体可以播放且不缓冲回调 事件在音视频可以正常播放且无需停顿和缓冲时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 canplaythrough()\n{\n 信息框(\"Triggered when the audio and video can be played normally without pause and buffer\");\n}\n</脚本>\n<网页主体 多媒体可以播放且不缓冲回调=\"canplaythrough()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体时长发生变化回调",
|
||||||
|
"title_en" : "ondurationchange",
|
||||||
|
"id" : "16467931656767",
|
||||||
|
"usage" : "多媒体时长发生变化回调 事件在音视频的时长发生变化时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 durationchange()\n{\n 信息框(\"Triggered when the duration of audio and video changes\");\n}\n</脚本>\n<网页主体 多媒体时长发生变化回调=\"durationchangeg()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体播放结束回调",
|
||||||
|
"title_en" : "onended",
|
||||||
|
"id" : "16467932016725",
|
||||||
|
"usage" : "多媒体播放结束回调 事件在音视频播放结束时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 ended()\n{\n 信息框(\"Triggered at the end of audio and video playback\");\n}\n</脚本>\n<网页主体 多媒体播放结束回调=\"ended()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体首帧加载完成回调",
|
||||||
|
"title_en" : "onloadeddata",
|
||||||
|
"id" : "16467935413328",
|
||||||
|
"usage" : "多媒体首帧加载完成回调 事件在当前帧的数据加载完成且还没有足够的数据播放音视频的下一帧时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 loadeddata()\n{\n 信息框(\"Triggered when the data of the current frame is loaded and there is not enough data to play the next frame of audio and video\");\n}\n</脚本>\n<网页主体 多媒体首帧加载完成回调=\"loadeddata()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体元数据加载完成回调",
|
||||||
|
"title_en" : "onloadedmetadata",
|
||||||
|
"id" : "16467937281811",
|
||||||
|
"usage" : "多媒体元数据加载完成回调 事件在指定音视频的元数据加载后触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 loadedmetadata()\n{\n 信息框(\"Triggered after the metadata of the specified audio and video is loaded\");\n}\n</脚本>\n<网页主体 多媒体元数据加载完成回调=\"loadedmetadata()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体开始加载回调",
|
||||||
|
"title_en" : "onloadstart",
|
||||||
|
"id" : "16467937514137",
|
||||||
|
"usage" : "多媒体开始加载回调 事件在浏览器开始寻找指定音视频触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 loadstart()\n{\n 信息框(\"Start looking for the specified audio and video trigger in the browser\");\n}\n</脚本>\n<网页主体 多媒体开始加载回调=\"loadstart()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体暂停回调",
|
||||||
|
"title_en" : "onpause",
|
||||||
|
"id" : "16467937914772",
|
||||||
|
"usage" : "多媒体暂停回调 事件在音视频暂停时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 pause()\n{\n 信息框(\"Triggered when audio and video pause\");\n}\n</脚本>\n<网页主体 多媒体暂停回调=\"pause()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体开始播放回调",
|
||||||
|
"title_en" : "onplay",
|
||||||
|
"id" : "16467938123902",
|
||||||
|
"usage" : "多媒体开始播放回调 事件在音视频开始播放时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 play()\n{\n 信息框(\"Triggered when the audio and video starts playing\");\n}\n</脚本>\n<网页主体 多媒体开始播放回调=\"play()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体暂停后开始播放回调",
|
||||||
|
"title_en" : "onplaying",
|
||||||
|
"id" : "16467938749341",
|
||||||
|
"usage" : "多媒体暂停后开始播放回调 事件在音视频暂停或者在缓冲后准备重新开始播放时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 playing()\n{\n 信息框(\"Triggered when the audio and video are paused or ready to restart after buffering\");\n}\n</脚本>\n<网页主体 多媒体暂停后开始播放回调=\"playing()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体缓存回调",
|
||||||
|
"title_en" : "onprogress",
|
||||||
|
"id" : "16467940787606",
|
||||||
|
"usage" : "多媒体缓存回调 事件在浏览器下载指定的音视频时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 progress()\n{\n 信息框(\"Triggered when the browser downloads the specified audio and video\");\n}\n</脚本>\n<网页主体 多媒体缓存回调=\"progress()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体改变播放速度回调",
|
||||||
|
"title_en" : "onratechange",
|
||||||
|
"id" : "16467941681044",
|
||||||
|
"usage" : "多媒体改变播放速度回调 事件在音视频的播放速度发生改变时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 ratechange()\n{\n 信息框(\"Triggered when the playback speed of audio and video changes\");\n}\n</脚本>\n<网页主体 多媒体改变播放速度回调=\"ratechange()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体改变播放位置后回调",
|
||||||
|
"title_en" : "onseeked",
|
||||||
|
"id" : "16467944499134",
|
||||||
|
"usage" : "多媒体改变播放位置后回调 事件在用户重新定位视频/音频(audio/video)的播放位置后触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 seeked()\n{\n 信息框(\"After the user's audio is repositioned\");\n}\n</脚本>\n<网页主体 多媒体改变播放位置后回调=\"seeked()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体改变播放位置时回调",
|
||||||
|
"title_en" : "onseeking",
|
||||||
|
"id" : "16467949314210",
|
||||||
|
"usage" : "多媒体改变播放位置时回调 事件在用户开始重新定位音视频时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 seeking()\n{\n 信息框(\"Triggered when the user starts repositioning audio and video\");\n}\n</脚本>\n<网页主体 多媒体改变播放位置时回调=\"seeking()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体数据不可用回调",
|
||||||
|
"title_en" : "onstalled",
|
||||||
|
"id" : "16467957806183",
|
||||||
|
"usage" : "多媒体数据不可用回调 事件在浏览器获取媒体数据,但媒体数据不可用时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 stalled()\n{\n 信息框(\"Triggered when the browser obtains media data, but the media data is not available\");\n}\n</脚本>\n<网页主体 多媒体数据不可用回调=\"stalled()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体读取数据中止回调",
|
||||||
|
"title_en" : "onsuspend",
|
||||||
|
"id" : "16467958152770",
|
||||||
|
"usage" : "多媒体读取数据中止回调 事件在音视频当前的播放位置发送改变时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 suspend()\n{\n 信息框(\"Triggered when the current playback position of audio and video is changed\");\n}\n</脚本>\n<网页主体 多媒体读取数据中止回调=\"suspend()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体播放时间更新回调",
|
||||||
|
"title_en" : "ontimeupdate",
|
||||||
|
"id" : "16468063322271",
|
||||||
|
"usage" : "多媒体播放时间更新回调 事件在音视频的音量发生改变时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 timeupdate()\n{\n 信息框(\"Triggered when the volume of audio and video changes\");\n}\n</脚本>\n<网页主体 多媒体播放时间更新回调=\"timeupdate()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体缓冲下一帧回调",
|
||||||
|
"title_en" : "onwaiting",
|
||||||
|
"id" : "16468063947860",
|
||||||
|
"usage" : "多媒体缓冲下一帧回调 事件在视频由于要播放下一帧而需要缓冲时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 waiting()\n{\n 信息框(\"Triggered when the video needs buffering to play the next frame\");\n}\n</脚本>\n<网页主体 多媒体缓冲下一帧回调=\"waiting()\">\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title" : "多媒体音量变化回调",
|
||||||
|
"title_en" : "onvolumechange",
|
||||||
|
"id" : "16497294375708",
|
||||||
|
"usage" : "多媒体音量变化回调 事件在音视频的音量发生改变时触发。",
|
||||||
|
"explain" : "<脚本>\n定义函数 volumechange()\n{\n 信息框(\"Triggered when the volume of audio and video changes\");\n}\n</脚本>\n<网页主体 多媒体音量变化回调=\"volumechange()\">\n"
|
||||||
|
}
|
||||||
|
]
|
1447
js/json/JavascriptCodeKey.js
Normal file
1447
js/json/JavascriptCodeKey.js
Normal file
File diff suppressed because it is too large
Load Diff
310
js/json/JavascriptCompilationJQCode.js
Normal file
310
js/json/JavascriptCompilationJQCode.js
Normal file
@@ -0,0 +1,310 @@
|
|||||||
|
let JavascriptCompilationJQCode_ = [
|
||||||
|
{
|
||||||
|
"code1" : "显示标签",
|
||||||
|
"code2" : "show"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "隐藏元素",
|
||||||
|
"code2" : "hide"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "淡入元素",
|
||||||
|
"code2" : "fadeIn"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "淡出元素",
|
||||||
|
"code2" : "fadeOut"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "切换淡入淡出状态",
|
||||||
|
"code2" : "fadeToggle"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "透明元素",
|
||||||
|
"code2" : "fadeTo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "向下滑动元素",
|
||||||
|
"code2" : "slideDown"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "向上滑动元素",
|
||||||
|
"code2" : "slideUp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "切换上下滑动状态",
|
||||||
|
"code2" : "slideToggle"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "元素动画",
|
||||||
|
"code2" : "animate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "停止",
|
||||||
|
"code2" : "stop"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "添加HTML样式类",
|
||||||
|
"code2" : "addClass"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "向后添加内容",
|
||||||
|
"code2" : "after"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "元素内向后添加内容",
|
||||||
|
"code2" : "append"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "向前添加内容",
|
||||||
|
"code2" : "before"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "复制元素",
|
||||||
|
"code2" : "clone"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "删除元素内容",
|
||||||
|
"code2" : "empty"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "是否包含指定类",
|
||||||
|
"code2" : "hasClass"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "设置或返回元素",
|
||||||
|
"code2" : "html"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "元素内向前添加内容",
|
||||||
|
"code2" : "prepend"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "删除元素",
|
||||||
|
"code2" : "remove"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "删除元素属性",
|
||||||
|
"code2" : "removeAttr"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "删除HTML样式类",
|
||||||
|
"code2" : "removeClass"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "替换所有元素",
|
||||||
|
"code2" : "replaceAll"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "设置或获取内容",
|
||||||
|
"code2" : "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "删除父元素",
|
||||||
|
"code2" : "unwrap"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "设置或获取值",
|
||||||
|
"code2" : "val"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "元素包裹",
|
||||||
|
"code2" : "wrap"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "所有元素包裹",
|
||||||
|
"code2" : "wrapAll"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "元素内包裹",
|
||||||
|
"code2" : "wrapInner"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "元素宽度",
|
||||||
|
"code2" : "width"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "元素高度",
|
||||||
|
"code2" : "height"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "元素宽度2",
|
||||||
|
"code2" : "innerWidth"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "元素高度2",
|
||||||
|
"code2" : "innerHeight"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "元素宽度3",
|
||||||
|
"code2" : "outerWidth"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "元素高度3",
|
||||||
|
"code2" : "outerHeight"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "设置或返回样式",
|
||||||
|
"code2" : "css"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "全部前元素",
|
||||||
|
"code2" : "prevAll"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "全部后元素",
|
||||||
|
"code2" : "nextAll"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "子元素",
|
||||||
|
"code2" : "children"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "切换类名",
|
||||||
|
"code2" : "toggleClass"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "同辈元素",
|
||||||
|
"code2" : "siblings"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "绑定事件",
|
||||||
|
"code2" : "on"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "偏移坐标",
|
||||||
|
"code2" : "offset"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "遍历",
|
||||||
|
"code2" : "each"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "滚动条位置",
|
||||||
|
"code2" : "scrollTop"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "滚动",
|
||||||
|
"code2" : "scroll"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "查询",
|
||||||
|
"code2" : "find"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "切换显示",
|
||||||
|
"code2" : "toggle"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "所有父级",
|
||||||
|
"code2" : "parents"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "索引",
|
||||||
|
"code2" : "eq"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "序号",
|
||||||
|
"code2" : "index"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "属性值",
|
||||||
|
"code2" : "attr"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "控件属性值",
|
||||||
|
"code2" : "prop"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "框架内容",
|
||||||
|
"code2" : "contents"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "失去焦点",
|
||||||
|
"code2" : "blur"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "内容改变",
|
||||||
|
"code2" : "change"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "点击元素",
|
||||||
|
"code2" : "click"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "双击元素",
|
||||||
|
"code2" : "dblclick"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "元素错误",
|
||||||
|
"code2" : "error"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "获得焦点",
|
||||||
|
"code2" : "focus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "按下按键",
|
||||||
|
"code2" : "keydown"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "按下按键2",
|
||||||
|
"code2" : "keypress"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "松开按键",
|
||||||
|
"code2" : "keyup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "加载数据",
|
||||||
|
"code2" : "load"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "鼠标按下",
|
||||||
|
"code2" : "mousedown"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "鼠标弹起",
|
||||||
|
"code2" : "mouseup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "鼠标进入",
|
||||||
|
"code2" : "mouseenter"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "鼠标离开",
|
||||||
|
"code2" : "mouseleave"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "鼠标移动",
|
||||||
|
"code2" : "mousemove"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "鼠标进入2",
|
||||||
|
"code2" : "mouseover"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "鼠标离开2",
|
||||||
|
"code2" : "mouseout"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "页面加载完毕",
|
||||||
|
"code2" : "ready"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "浏览器窗口改变大小",
|
||||||
|
"code2" : "resize"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "文本被选择",
|
||||||
|
"code2" : "select"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "提交表单",
|
||||||
|
"code2" : "submit"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "鼠标悬停",
|
||||||
|
"code2" : "hover"
|
||||||
|
}
|
||||||
|
]
|
9182
js/json/JavascriptCompilationPNameAll.js
Normal file
9182
js/json/JavascriptCompilationPNameAll.js
Normal file
File diff suppressed because it is too large
Load Diff
1046
js/json/JavascriptEvCode.js
Normal file
1046
js/json/JavascriptEvCode.js
Normal file
File diff suppressed because it is too large
Load Diff
1626
js/json/JavascriptNoCodeStatic.js
Normal file
1626
js/json/JavascriptNoCodeStatic.js
Normal file
File diff suppressed because it is too large
Load Diff
520
js/json/JavascriptOverallCode.js
Normal file
520
js/json/JavascriptOverallCode.js
Normal file
@@ -0,0 +1,520 @@
|
|||||||
|
let JavascriptOverallCode_ = [
|
||||||
|
{
|
||||||
|
"T_title" : "无穷大",
|
||||||
|
"T_title_en" : "Infinity",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "非数字",
|
||||||
|
"T_title_en" : "NaN",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "未定义内容",
|
||||||
|
"T_title_en" : "undefined",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "启用严格模式",
|
||||||
|
"T_title_en" : "@use strict@",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "URI解码2",
|
||||||
|
"T_title_en" : "decodeURI",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "URL解码",
|
||||||
|
"T_title_en" : "decodeURIComponent",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "URL编码2",
|
||||||
|
"T_title_en" : "encodeURI",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "URL编码",
|
||||||
|
"T_title_en" : "encodeURIComponent",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "执行函数",
|
||||||
|
"T_title_en" : "eval",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "判断无穷大",
|
||||||
|
"T_title_en" : "isFinite",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "非数字判断",
|
||||||
|
"T_title_en" : "isNaN",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "文本到小数",
|
||||||
|
"T_title_en" : "parseFloat",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "文本到整数",
|
||||||
|
"T_title_en" : "parseInt",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "调试输出",
|
||||||
|
"T_title_en" : "consoleendfofdianhaobeninlog",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "无符号8位整型数组",
|
||||||
|
"T_title_en" : "Uint8Array",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "有符号8位整型数组",
|
||||||
|
"T_title_en" : "Int8Array",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "无符号8位固定整型数组",
|
||||||
|
"T_title_en" : "Uint8ClampedArray",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "无符号16位整型数组",
|
||||||
|
"T_title_en" : "Uint16Array",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "有符号16位整型数组",
|
||||||
|
"T_title_en" : "Int16Array",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "无符号32位整型数组",
|
||||||
|
"T_title_en" : "Uint32Array",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "有符号32位整型数组",
|
||||||
|
"T_title_en" : "Int32Array",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "数组缓冲区",
|
||||||
|
"T_title_en" : "ArrayBuffer",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "特殊符号编译",
|
||||||
|
"T_title_en" : "SpecialSymbolCompilation",
|
||||||
|
"LibraryID" : "16409344749184",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "窗口是否关闭",
|
||||||
|
"T_title_en" : "closed",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "取所有框架集",
|
||||||
|
"T_title_en" : "frames",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "文档显示区宽度",
|
||||||
|
"T_title_en" : "innerWidth",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "文档显示区高度",
|
||||||
|
"T_title_en" : "innerHeight",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "长度",
|
||||||
|
"T_title_en" : "length",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "源窗口",
|
||||||
|
"T_title_en" : "opener",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "窗口高度",
|
||||||
|
"T_title_en" : "outerHeight",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "窗口宽度",
|
||||||
|
"T_title_en" : "outerWidth",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "页面X坐标",
|
||||||
|
"T_title_en" : "pageXOffset",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "页面Y坐标",
|
||||||
|
"T_title_en" : "pageYOffset",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "父窗口",
|
||||||
|
"T_title_en" : "parent",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "屏幕X坐标",
|
||||||
|
"T_title_en" : "screenLeft",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "屏幕Y坐标",
|
||||||
|
"T_title_en" : "screenTop",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "窗口自身",
|
||||||
|
"T_title_en" : "self",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "最顶层窗口",
|
||||||
|
"T_title_en" : "top",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "屏幕X坐标2",
|
||||||
|
"T_title_en" : "screenX",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "Dom文档",
|
||||||
|
"T_title_en" : "document",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "信息框",
|
||||||
|
"T_title_en" : "alert",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "失去焦点",
|
||||||
|
"T_title_en" : "blur",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "启动时钟",
|
||||||
|
"T_title_en" : "setInterval",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "关闭时钟",
|
||||||
|
"T_title_en" : "clearInterval",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "倒计时执行",
|
||||||
|
"T_title_en" : "setTimeout",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "关闭倒计时",
|
||||||
|
"T_title_en" : "clearTimeout",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "关闭",
|
||||||
|
"T_title_en" : "close",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "信息框2",
|
||||||
|
"T_title_en" : "confirm",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "获得焦点",
|
||||||
|
"T_title_en" : "focus",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "移动窗口",
|
||||||
|
"T_title_en" : "moveBy",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "左上角为准移动窗口",
|
||||||
|
"T_title_en" : "moveTo",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "打开",
|
||||||
|
"T_title_en" : "open",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "打印",
|
||||||
|
"T_title_en" : "print",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "输入对话框",
|
||||||
|
"T_title_en" : "prompt",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "像素调整窗口大小",
|
||||||
|
"T_title_en" : "resizeBy",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "调整窗口宽高",
|
||||||
|
"T_title_en" : "resizeTo",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "滚动到像素位置",
|
||||||
|
"T_title_en" : "scrollBy",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "滚动到指定位置",
|
||||||
|
"T_title_en" : "scrollTo",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "添加事件侦听器",
|
||||||
|
"T_title_en" : "addEventListener",
|
||||||
|
"LibraryID" : "16413059373112",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "网页访问_同步",
|
||||||
|
"T_title_en" : "FoFJsCodeJQAjax",
|
||||||
|
"LibraryID" : "16652111092806",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "网页访问_异步",
|
||||||
|
"T_title_en" : "FoFJsCodeJQAjax2",
|
||||||
|
"LibraryID" : "16652111092806",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "无符号8位数组到文本",
|
||||||
|
"T_title_en" : "Utf8ArrayToStr",
|
||||||
|
"LibraryID" : "16868964249147",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "格式化时间",
|
||||||
|
"T_title_en" : "FormatTimeFOF",
|
||||||
|
"LibraryID" : "16868964249147",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "取十位时间戳",
|
||||||
|
"T_title_en" : "TakeTenDigitTimestamp",
|
||||||
|
"LibraryID" : "16868964249147",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "取整数随机数",
|
||||||
|
"T_title_en" : "TakingIntegerRandomNumbers",
|
||||||
|
"LibraryID" : "16868964249147",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "图片框转Base64",
|
||||||
|
"T_title_en" : "FOFStudioGetBase64Image",
|
||||||
|
"LibraryID" : "16868964249147",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "获取选择文件base64",
|
||||||
|
"T_title_en" : "FOFStudioDomFileBase64",
|
||||||
|
"LibraryID" : "16868964249147",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "浏览器进入全屏",
|
||||||
|
"T_title_en" : "FOFStudioEnterFullscreen",
|
||||||
|
"LibraryID" : "16868964249147",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "浏览器退出全屏",
|
||||||
|
"T_title_en" : "FOFStudioExitFullscreen",
|
||||||
|
"LibraryID" : "16868964249147",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "下载网络文件",
|
||||||
|
"T_title_en" : "FOFStudioDownloadFile",
|
||||||
|
"LibraryID" : "16868964249147",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "设置或获取Cookie",
|
||||||
|
"T_title_en" : "SetWebCookie",
|
||||||
|
"LibraryID" : "16868964249147",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "连续判断",
|
||||||
|
"T_title_en" : "ContinuousJudgment",
|
||||||
|
"LibraryID" : "16868964249147",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "取今日24点整时间戳",
|
||||||
|
"T_title_en" : "GetTimestamp24",
|
||||||
|
"LibraryID" : "16868964249147",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"T_title" : "取今日0点整时间戳",
|
||||||
|
"T_title_en" : "GetTimestamp0",
|
||||||
|
"LibraryID" : "16868964249147",
|
||||||
|
"LibraryType" : "[1,2,3,4,5]",
|
||||||
|
"CodeType" : 1
|
||||||
|
}
|
||||||
|
]
|
15180
js/json/JavascriptYesCodeStatic.js
Normal file
15180
js/json/JavascriptYesCodeStatic.js
Normal file
File diff suppressed because it is too large
Load Diff
34
js/json/JsonJSCodeTransformation.js
Normal file
34
js/json/JsonJSCodeTransformation.js
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
let JsonJSCodeTransformation_ = [
|
||||||
|
{
|
||||||
|
"code1" : "代码转换类endfofdianhaobeninHTML标签转中文",
|
||||||
|
"code2" : 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "代码转换类endfofdianhaobeninHTML标签转英文",
|
||||||
|
"code2" : 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "代码转换类endfofdianhaobeninHTLM属性转中文",
|
||||||
|
"code2" : 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "代码转换类endfofdianhaobeninHTLM属性转英文",
|
||||||
|
"code2" : 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "代码转换类endfofdianhaobeninCSS转中文",
|
||||||
|
"code2" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "代码转换类endfofdianhaobeninCSS转英文",
|
||||||
|
"code2" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "代码转换类endfofdianhaobeninJS转英文",
|
||||||
|
"code2" : 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code1" : "代码转换类endfofdianhaobeninJS转中文",
|
||||||
|
"code2" : 3
|
||||||
|
}
|
||||||
|
]
|
Reference in New Issue
Block a user