리버티게임:관리자 요청/2018년 11월
관리자 요청 |
---|
◀ 2018년 11월 ▶ |
새 글 쓰기 |
새로 고침 |
Common.js 수정 요청
DB 플러그인 파트를
/** DB기능 초기화 * [[틀:DB]]를 사용 가능하게 해 줍니다. * [[사용자:BANIP|BANIP]] */ function enableLocalStorage() { // 문서 미리보기 상태일 시 종료 if (location.pathname === "/w/index.php") return; //플러그인의 모든 키 순회 function forEach(object, callback) { for (var key in object) { var variable = object[key]; callback(variable, key); } } function setLocalStorage(parentKey, datas) { var stringKeys = JSON.stringify(Object.keys(datas)); localStorage.setItem(parentKey + "/__keys__", stringKeys); forEach(datas, function(v, i) { if (i === "action") return; localStorage.setItem(parentKey + "/" + i, v); }); } function getLocalStorage(parentKey) { var datas = {}; var stringKeys = localStorage.getItem(parentKey + "/__keys__"); if (stringKeys === null) return null; var keys = JSON.parse(stringKeys); keys.forEach(function(key) { datas[key] = localStorage.getItem(parentKey + "/" + key); }) return datas; } function clearLocalStorage(parentKey) { var datas = {}; var stringKeys = localStorage.getItem(parentKey + "/__keys__"); if (stringKeys === null) return null; var keys = JSON.parse(stringKeys); keys.forEach(function(key) { datas[key] = localStorage.removeItem(parentKey + "/" + key); }) } function getSearch() { return geturlSearch(); } function searchParamToString(searchParamsObj){ var params = "?" + Object.entries(searchParamsObj) .map(function(v){ return v.join("=") }) .join("&"); return encodeURI(params); } function setSearch(datas) { var searchParams = getSearch(); forEach(datas, function(v, i) { searchParams[i] = v; }); location.search = searchParamToString(searchParams); } function hasSearch() { return !(location.search === ""); } $(".controlLocalStorage").each(function() { var parentKey = $(this).data("key"); var behavior = $(this).data("behavior"); switch (behavior) { case "세이브": if (!hasSearch()) return; var datas = getSearch(); clearLocalStorage(parentKey); setLocalStorage(parentKey, datas); break; case "로드": if (hasSearch()) return; var datas = getLocalStorage(parentKey, datas); if (datas === null) return; setSearch(datas); break; case "초기화": clearLocalStorage(parentKey); break; } }) } $(enableLocalStorage);
처럼 바꿔주세요. 초기화 기능을 추가했습니다.