diff --git a/languages/en.css b/languages/en.css index 0e33e03f..bb957e45 100644 --- a/languages/en.css +++ b/languages/en.css @@ -248,6 +248,9 @@ .control-box .change-swap-to-copy-lbl::after{ content:"Change \"Swap\" to \"Copy\" when dragging"; } +.control-box .zip-data-lbl::after{ + content:"Auto compress formation data in the URL"; +} .team-total-info .tIf-total-hp::before{ content: "Team HP(Team Awoken & Badge): "; } diff --git a/languages/ja.css b/languages/ja.css index 8656fd44..3f6bd98f 100644 --- a/languages/ja.css +++ b/languages/ja.css @@ -241,6 +241,9 @@ .control-box .change-swap-to-copy-lbl::after{ content:"ドラッグ時に「スワップ」を「コピー」に変更"; } +.control-box .zip-data-lbl::after{ + content:"URL 内のフォーメーション データを自動圧縮する"; +} .team-total-info .tIf-total-hp::before{ content: "チームHP(チーム覚醒とバッジ):"; } diff --git a/languages/ko.css b/languages/ko.css index 6ad99483..3b79d34a 100644 --- a/languages/ko.css +++ b/languages/ko.css @@ -241,6 +241,9 @@ .control-box .change-swap-to-copy-lbl::after{ content:"드래그할 때 \"바꾸기\"를 \"복사\"로 변경"; } +.control-box .zip-data-lbl::after{ + content:"URL에서 형성 데이터를 자동 압축"; +} .team-total-info .tIf-total-hp::before{ content: "팀 HP(팀 각성 및 배지):"; } diff --git a/languages/zh-TW.css b/languages/zh-TW.css index 5302151d..9811f828 100644 --- a/languages/zh-TW.css +++ b/languages/zh-TW.css @@ -247,6 +247,9 @@ .control-box .change-swap-to-copy-lbl::after{ content:"拖拽時使用“複製”而不是“替換”"; } +.control-box .zip-data-lbl::after{ + content:"自動壓縮URL中的隊伍數據"; +} .team-total-info .tIf-total-hp::before{ content: "隊伍HP(隊伍覺醒和徽章):"; } diff --git a/languages/zh.css b/languages/zh.css index 21ad7046..800cfc90 100644 --- a/languages/zh.css +++ b/languages/zh.css @@ -247,6 +247,9 @@ .control-box .change-swap-to-copy-lbl::after{ content:"拖拽时使用“复制”而不是“替换”"; } +.control-box .zip-data-lbl::after{ + content:"自动压缩URL中的队伍数据"; +} .team-total-info .tIf-total-hp::before{ content: "队伍HP(队伍觉醒和徽章):"; } diff --git a/multi.html b/multi.html index 03b853c3..3a70df86 100644 --- a/multi.html +++ b/multi.html @@ -50,6 +50,7 @@ var formation = new Formation(teamsCount,5); +
diff --git a/script.js b/script.js index 1e421440..f3180bdb 100644 --- a/script.js +++ b/script.js @@ -13,6 +13,7 @@ var statusLine; //储存状态栏 var formationBox; //储存整个formationBox var editBox; //储存整个editBox var showSearch; //整个程序都可以用的显示搜索函数 +var zipURL; //储存是否压缩网址数据 const dataStructure = 3; //阵型输出数据的结构版本 const className_displayNone = "display-none"; @@ -338,6 +339,15 @@ window.onload = function() { controlBox = document.body.querySelector(".control-box"); statusLine = controlBox.querySelector(".status"); //显示当前状态的 + const zipClassName = 'zip-data'; + const zipData = controlBox.querySelector(`#${zipClassName}`); + zipData.onchange = function(){ + localStorage.setItem("PADDF-" + zipClassName, this.checked ? 1 : 0); + zipURL = this.checked; + } + zipData.checked = Boolean(parseInt(localStorage.getItem("PADDF-" + zipClassName))); + zipData.onchange(); + const helpLink = controlBox.querySelector(".help-link"); interchangeSVG = document.body.querySelector("#interchange-line"); interchangeSVG.line = interchangeSVG.querySelector("g line"); @@ -602,8 +612,9 @@ function reloadFormationData() { if (parameterDataString.charAt(0) != '{') { + console.log('数据字符串:',parameterDataString.length,parameterDataString); parameterDataString = pako.inflate(parameterDataString,{to:'string'}) - console.log('数据字符串解压结果:',parameterDataString); + console.log('数据字符串解压结果:',parameterDataString.length,parameterDataString); } formationData = JSON.parse(parameterDataString); } @@ -633,12 +644,21 @@ function creatNewUrl(arg){ if (datasource && datasource!="ja") newSearch.set("s",datasource); const dataJsonStr = JSON.stringify(outObj); //数据部分的字符串 - const deflate = pako.deflate(dataJsonStr,{to:'string'}); - - if (outObj) newSearch.set("d", - deflate.length < dataJsonStr.length ? //压缩后长度小于压缩前长度 - deflate : //使用压缩字符串 - dataJsonStr); //使用原始字符串 + if (zipURL.checked) + { + const deflate = pako.deflate(dataJsonStr,{to:'string'}); + const teamSearch1 = new URLSearchParams(); + const teamSearch2 = new URLSearchParams(); + teamSearch1.set('d',dataJsonStr); + teamSearch2.set('d',deflate); + if (outObj) newSearch.set("d", + teamSearch2.length < teamSearch1.length ? //压缩后长度小于压缩前长度 + deflate : //使用压缩字符串 + dataJsonStr); //使用原始字符串 + }else + { + newSearch.set("d", dataJsonStr); + } const newUrl = (arg.url || "") + '?' + newSearch.toString(); @@ -1239,8 +1259,8 @@ function initialize() { refreshLatent(latent,monid,monEditLatents); }; - const s_hideLessUseLetent = settingBox.querySelector("#hide-less-use-latent"); const hideClassName = 'hide-less-use-latent'; + const s_hideLessUseLetent = settingBox.querySelector(`#${hideClassName}`); s_hideLessUseLetent.onchange = function(){ toggleDomClassName(this, hideClassName, true, monEditLatentAllowableUl); localStorage.setItem("PADDF-" + hideClassName, this.checked ? 1 : 0); diff --git a/solo.html b/solo.html index db2ca802..1e788ebe 100644 --- a/solo.html +++ b/solo.html @@ -49,6 +49,7 @@ var formation = new Formation(teamsCount,6); +
diff --git a/triple.html b/triple.html index 57d8f8f1..6abe4dd7 100644 --- a/triple.html +++ b/triple.html @@ -64,6 +64,7 @@ var formation = new Formation(teamsCount,6); +