更新库,加入core-js
This commit is contained in:
parent
90e78316c2
commit
b2db780063
|
@ -1,4 +1,4 @@
|
|||
const unsupportFeatures = (()=>{
|
||||
(()=>{
|
||||
function runCodeWithFunction(obj) {
|
||||
return Function(`"use strict"; return (${obj})`)();
|
||||
}
|
||||
|
@ -22,8 +22,9 @@
|
|||
{name: "Private class fields (#name) / 类私有域(#name)", version:{firefox:90,chrome:74,safari:14.5}, url: "https://caniuse.com/mdn-javascript_classes_private_class_fields", test: ()=>Boolean(runCodeWithFunction("class test {#v = 0;}, true"))},
|
||||
{name: "Dialog element / Dialog 元素", version:{firefox:98,chrome:37,safari:15.4}, url: "https://caniuse.com/dialog", test: ()=>Boolean(window.HTMLDialogElement)},
|
||||
// {name: "Class static initialization blocks / 静态初始化块", version:{firefox:93,chrome:94,safari:16.4}, url: "https://caniuse.com/mdn-javascript_classes_static_initialization_blocks", test: ()=>supportsPseudoClass(":not(html)")},
|
||||
]
|
||||
return features.filter(feature=>{
|
||||
];
|
||||
|
||||
const unsupportFeatures = features.filter(feature=>{
|
||||
try {
|
||||
return !feature.test();
|
||||
} catch (e) {
|
||||
|
@ -31,86 +32,87 @@
|
|||
console.error(e);
|
||||
return true;
|
||||
}
|
||||
})
|
||||
})();
|
||||
});
|
||||
|
||||
if (unsupportFeatures.length) {
|
||||
const browserVersion = ((UA)=>{
|
||||
let regRes;
|
||||
if (regRes = /\b(Firefox|Chrome)\/([\d\.]+)/ig.exec(UA)) {
|
||||
return `${regRes[1]} ${regRes[2]}`;
|
||||
} else if (regRes = /\bVersion\/([\d\.]+)\s+.*\b(Safari)\//ig.exec(UA)) {
|
||||
return `${regRes[2]} ${regRes[1]}`;
|
||||
} else {
|
||||
UA;
|
||||
}
|
||||
})(navigator.userAgent);
|
||||
//支持的最低版本
|
||||
const needBrowserVersion = unsupportFeatures.reduce((pre,{version})=>{
|
||||
pre.firefox = Math.max(pre.firefox,version.firefox);
|
||||
pre.chrome = Math.max(pre.chrome,version.chrome);
|
||||
pre.safari = Math.max(pre.safari,version.safari);
|
||||
return pre;
|
||||
}, {firefox:0,chrome:0,safari:0});
|
||||
|
||||
let alertStr;
|
||||
if (/^zh-(?:han(?:s|t)-)?/.test(navigator.language)) {
|
||||
alertStr =
|
||||
`<div>🙁浏览器内核版本太老<br>
|
||||
if (unsupportFeatures.length) {
|
||||
const browserVersion = ((UA)=>{
|
||||
let regRes;
|
||||
if (regRes = /\b(Firefox|Chrome)\/([\d\.]+)/ig.exec(UA)) {
|
||||
return `${regRes[1]} ${regRes[2]}`;
|
||||
} else if (regRes = /\bVersion\/([\d\.]+)\s+.*\b(Safari)\//ig.exec(UA)) {
|
||||
return `${regRes[2]} ${regRes[1]}`;
|
||||
} else {
|
||||
UA;
|
||||
}
|
||||
})(navigator.userAgent);
|
||||
//支持的最低版本
|
||||
const needBrowserVersion = unsupportFeatures.reduce((pre,{version})=>{
|
||||
pre.firefox = Math.max(pre.firefox,version.firefox);
|
||||
pre.chrome = Math.max(pre.chrome,version.chrome);
|
||||
pre.safari = Math.max(pre.safari,version.safari);
|
||||
return pre;
|
||||
}, {firefox:0,chrome:0,safari:0});
|
||||
|
||||
let alertStr;
|
||||
if (/^zh-(?:han(?:s|t)-)?/.test(navigator.language)) {
|
||||
alertStr =
|
||||
`<p lang="zh">🙁浏览器内核版本太老<br>
|
||||
您的浏览器版本为: ${browserVersion}<br>
|
||||
您的浏览器内核不支持本程序使用的以下技术
|
||||
<ol>
|
||||
${unsupportFeatures.map(feature=>`<li><a href="${feature.url}">${feature.name}</a></li>`).join('')}
|
||||
</ol>
|
||||
请更新您的浏览器内核到 Firefox(火狐) ≥ ${needBrowserVersion.firefox} 或 Chrome(谷歌) ≥ ${needBrowserVersion.chrome} 或 Safari ≥ ${needBrowserVersion.safari}。</div>`;
|
||||
} else {
|
||||
alertStr =
|
||||
`<div>🙁Browser kernel is too old<br>
|
||||
请更新您的浏览器内核到 Firefox(火狐) ≥ ${needBrowserVersion.firefox} 或 Chrome(谷歌) ≥ ${needBrowserVersion.chrome} 或 Safari ≥ ${needBrowserVersion.safari}。</p>`;
|
||||
} else {
|
||||
alertStr =
|
||||
`<p lang="en">🙁Browser kernel is too old<br>
|
||||
Your browser is: ${browserVersion}<br>
|
||||
Your browser kernel does not support the following technologies used by this program:
|
||||
<ol>
|
||||
${unsupportFeatures.map(feature=>`<li><a href="${feature.url}">${feature.name}</a></li>`).join('')}
|
||||
</ol>
|
||||
Please update your browser core to Firefox ≥ ${needBrowserVersion.firefox} or Chrome ≥ ${needBrowserVersion.chrome} or Safari ≥ ${needBrowserVersion.safari}</div>`;
|
||||
Please update your browser core to Firefox ≥ ${needBrowserVersion.firefox} or Chrome ≥ ${needBrowserVersion.chrome} or Safari ≥ ${needBrowserVersion.safari}</p>`;
|
||||
}
|
||||
|
||||
//alert(alertStr);
|
||||
document.write(alertStr);
|
||||
}
|
||||
|
||||
//alert(alertStr);
|
||||
document.write(alertStr);
|
||||
}
|
||||
|
||||
if (/\b(?:MicroMessenger|WeChat|Weixin|QQ|AliApp)\b/.test(navigator.userAgent)) {
|
||||
const mask = document.createElement("div");
|
||||
mask.id = "denied-mask";
|
||||
const css = `
|
||||
#denied-mask {
|
||||
position: fixed;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-color: #000A;
|
||||
if (/\b(?:MicroMessenger|WeChat|Weixin|QQ|AliApp)\b/.test(navigator.userAgent)) {
|
||||
const mask = document.createElement("div");
|
||||
mask.id = "denied-mask";
|
||||
const css = `
|
||||
#denied-mask {
|
||||
position: fixed;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-color: #000A;
|
||||
}
|
||||
.alert {
|
||||
font-size: 2em;
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
`;
|
||||
const style = mask.appendChild(document.createElement("style"));
|
||||
style.appendChild(document.createTextNode(css));
|
||||
const alertDiv = mask.appendChild(document.createElement("div"));
|
||||
alertDiv.className = "alert";
|
||||
alertDiv.innerHTML = `请勿使用APP内置浏览器,会有功能缺失<br>点击菜单使用正常浏览器打开↗`;
|
||||
const removeMe = mask.appendChild(document.createElement("button"));
|
||||
removeMe.append("我知道了");
|
||||
removeMe.onclick = ()=>{
|
||||
mask.remove();
|
||||
delete mask;
|
||||
};
|
||||
|
||||
const event = window.addEventListener("load", ()=>{
|
||||
document.body.appendChild(mask);
|
||||
window.removeEventListener(event);
|
||||
});
|
||||
}
|
||||
.alert {
|
||||
font-size: 2em;
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
`;
|
||||
const style = mask.appendChild(document.createElement("style"));
|
||||
style.appendChild(document.createTextNode(css));
|
||||
const alertDiv = mask.appendChild(document.createElement("div"));
|
||||
alertDiv.className = "alert";
|
||||
alertDiv.innerHTML = `请勿使用内置浏览<br>点击菜单使用正常浏览器打开↗`;
|
||||
const removeMe = mask.appendChild(document.createElement("button"));
|
||||
removeMe.append("我知道了");
|
||||
removeMe.onclick = ()=>{
|
||||
mask.remove();
|
||||
delete mask;
|
||||
};
|
||||
})
|
||||
|
||||
const event = window.addEventListener("load", ()=>{
|
||||
document.body.appendChild(mask);
|
||||
window.removeEventListener(event);
|
||||
});
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -10,6 +10,7 @@
|
|||
<link href="style.css" rel="stylesheet" type="text/css">
|
||||
<link href="style-monsterimages.css" rel="stylesheet" type="text/css">
|
||||
<link id="language-css" href="languages/en.css" rel="stylesheet" type="text/css">
|
||||
<script type="text/javascript" src="library/core-js.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
const solo = false;
|
||||
const teamsCount = 2;
|
||||
|
|
|
@ -2,9 +2,10 @@
|
|||
"dependencies": {
|
||||
"@html2canvas/html2canvas": "^1.6.3",
|
||||
"@xmldom/xmldom": "^0.8.10",
|
||||
"@zxing/library": "^0.21.1",
|
||||
"mime": "^4.0.3",
|
||||
"@zxing/library": "^0.21.2",
|
||||
"core-js-bundle": "^3.31.1",
|
||||
"mime": "^4.0.4",
|
||||
"opencc-js": "^1.0.5",
|
||||
"xml-formatter": "^3.6.2"
|
||||
"xml-formatter": "^3.6.3"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,18 +29,15 @@ const GM_xmlhttpRequest = function(GM_param) {
|
|||
};
|
||||
|
||||
//获取URL参数
|
||||
function getQueryString(name, url) {
|
||||
const urlObj = new URL(url || document.location);
|
||||
function getQueryString(name, inputURL = document.location) {
|
||||
const url = new URL(inputURL);
|
||||
if (!Array.isArray(name)) name = [name];
|
||||
const n_e = name.entries();
|
||||
let n, value;
|
||||
do {
|
||||
n = n_e.next();
|
||||
if (!n.done)
|
||||
{
|
||||
value = urlObj.searchParams.get(n.value[1]);
|
||||
}
|
||||
}while(!n.done && value === undefined)
|
||||
//可以以数组形式传递 name 的多个别名,比如 getQueryString(["l","lang"])
|
||||
let value;
|
||||
for (let index = 0; index < name.length; index++) {
|
||||
value = url.searchParams.get(name[index]);
|
||||
if (value) break;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ const dataStructure = 5; //阵型输出数据的结构版本
|
|||
const cfgPrefix = "PADDF-"; //设置名称的前缀
|
||||
const className_displayNone = "display-none";
|
||||
const dataAttrName = "data-value"; //用于储存默认数据的属性名
|
||||
const isGuideMod = !unsupportFeatures.length && Boolean(Number(getQueryString("guide"))); //是否以图鉴模式启动
|
||||
const isGuideMod = Boolean(Number(getQueryString("guide"))); //是否以图鉴模式启动
|
||||
|
||||
//用油猴扩展装上,把GM_xmlhttpRequest引入的脚本
|
||||
const ExternalLinkScriptURL = "https://greasyfork.org/scripts/458521";
|
||||
|
|
|
@ -6075,7 +6075,7 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"sound/voice/ja/padv2191.wav",
|
||||
"d07c2fc9a621d4345c053f3d2187a937"
|
||||
"143e052f3c15efaadaf7eaae277c68e7"
|
||||
],
|
||||
[
|
||||
"sound/voice/ja/padv2192.wav",
|
||||
|
@ -30215,7 +30215,7 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"browser-compatibility.js",
|
||||
"7080930e96f7e1f6897642ce00b34853"
|
||||
"13ffac54abcdd4a8135f0352db1e485b"
|
||||
],
|
||||
[
|
||||
"index.html",
|
||||
|
@ -30223,7 +30223,7 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"multi.html",
|
||||
"4cc20691292d1223c04009fda1e7cdaa"
|
||||
"843cdcc9b713e4eb4fd1e43af325397e"
|
||||
],
|
||||
[
|
||||
"script-custom_elements.js",
|
||||
|
@ -30247,7 +30247,7 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"solo.html",
|
||||
"5c53f3d02e7ac97625fda4e102cefe5d"
|
||||
"99e0b0f844d6b57119a1e87b73313329"
|
||||
],
|
||||
[
|
||||
"style-monsterimages.css",
|
||||
|
@ -30263,7 +30263,7 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"triple.html",
|
||||
"95041cfe3b8814a7adaa454d7302b778"
|
||||
"596d1bff6d2c26c85d3633d338a62ef7"
|
||||
],
|
||||
[
|
||||
"languages/en.css",
|
||||
|
@ -30473,13 +30473,17 @@ const cachesMap = new Map([
|
|||
"images/type.png",
|
||||
"6b1eadf2c9faf6ac18522bd49a50a400"
|
||||
],
|
||||
[
|
||||
"library/core-js.min.js",
|
||||
"f67a060d45569816fe1e15e007a197a4"
|
||||
],
|
||||
[
|
||||
"library/html2canvas.min.js",
|
||||
"a692cfc262fd4a43738caf3edf2c7a3d"
|
||||
],
|
||||
[
|
||||
"library/zxing.umd.min.js",
|
||||
"ce1ec54f24b569dfc71e20bcb806044e"
|
||||
"e5b53f686f2beea4012dd076c6c93d81"
|
||||
],
|
||||
[
|
||||
"library/jy4340132-aaa/adpcm.js",
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
<link href="style.css" rel="stylesheet" type="text/css">
|
||||
<link href="style-monsterimages.css" rel="stylesheet" type="text/css">
|
||||
<link id="language-css" href="languages/en.css" rel="stylesheet" type="text/css">
|
||||
<script type="text/javascript" src="library/core-js.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
const solo = true;
|
||||
const teamsCount = 1;
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
<link href="style.css" rel="stylesheet" type="text/css">
|
||||
<link href="style-monsterimages.css" rel="stylesheet" type="text/css">
|
||||
<link id="language-css" href="languages/en.css" rel="stylesheet" type="text/css">
|
||||
<script type="text/javascript" src="library/core-js.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
const solo = false;
|
||||
const teamsCount = 3;
|
||||
|
|
Loading…
Reference in New Issue