ティラノスクリプトのlibs.jsにて、EDGEでセーブを行った際にエラーが発生する症状が発生しております。
本仕様はブラウザ上のlocalStorageにセーブを行う際に発生するものです。
localStorageでは、Chrome,Safari,Firefoxではバイナリデータを保存することが可能ですが、
EDGE/IEではバイナリデータを保存しようとした場合にエラーが発生いたします。
本件は、最新版のlibs.jsでセーブデータがバイナリデータとして圧縮されて保存される仕様が追加された際に、EDGEではバイナリデータが保存できない仕様であるため発生しているエラーであると推定されます。
本問題への暫定対応について
本問題に対応を行う場合、libs.jsを
-------------------------------------------------
$.setStorageCompress = function(key, val) {
val = JSON.stringify(val);
localStorage.setItem(key, LZString.compress(escape(val)));
//localStorage.setItem(key, escape(val));
};
$.getStorageCompress = function(key) {
try {
var gv = "null";
if (localStorage.getItem(key)) {
gv = unescape(LZString.decompress(localStorage.getItem(key)));
if (gv == "null") {
gv = unescape(localStorage.getItem(key));
}
}
if (gv == "null")
return null;
} catch(e) {
alert("この環境はセーブ機能を利用できません。ローカルで実行している場合などに発生します");
$.confirmSaveClear();
}
return gv;
};
-------------------------------------------------
から
-------------------------------------------------
$.setStorageCompress = function(key, val) {
val = JSON.stringify(val);
try{
localStorage.setItem(key, LZString.compress(escape(val)));
return;
}catch(e){
}
try{
localStorage.setItem(key, escape(val));
}catch(e){
}
};
$.getStorageCompress = function(key) {
try {
var gv = "null";
if (localStorage.getItem(key)) {
var data = LZString.decompress(localStorage.getItem(key)) || localStorage.getItem(key);
gv = unescape(data);
if (gv == "null") {
gv = unescape(localStorage.getItem(key));
}
}
if (gv == "null")
return null;
} catch(e) {
alert("この環境はセーブ機能を利用できません。ローカルで実行している場合などに発生します");
$.confirmSaveClear();
}
return gv;
};
-------------------------------------------------
と書き直すことで暫定的に対応可能です。
2018.06.25