틀:자동저장/플러그인: 두 판 사이의 차이
< 틀:자동저장
백괴게임>BANIP 잔글 (2.0.1 버전업: 하위 브라우저 호환) |
백괴게임>BANIP (버전업 2.0.2 => edge에서 사용할 수 없는 URL API의 searchParam 파라미터 코드 구문을 저번에 commonjs에 만들어놓은 geturlSearch 함수로 변경) |
||
6번째 줄: | 6번째 줄: | ||
{{#vardefine:name|autosave}} | {{#vardefine:name|autosave}} | ||
{{#vardefine:creat|Manymaster}} | {{#vardefine:creat|Manymaster}} | ||
{{#vardefine:version|2.0. | {{#vardefine:version|2.0.2}} | ||
{{#vardefine:descript|자동저장 시스템을 위한 플러그인}} | {{#vardefine:descript|자동저장 시스템을 위한 플러그인}} | ||
{{#vardefine:local|false}} | {{#vardefine:local|false}} | ||
16번째 줄: | 16번째 줄: | ||
var safeNameSpace = [""]; | var safeNameSpace = [""]; | ||
/* autosave 편집모드가 아닐 경우 플러그인 종료 */ | /* autosave 편집모드가 아닐 경우 플러그인 종료 */ | ||
var searchParams = | var searchParams = geturlSearch(location); | ||
var isEditMode = searchParams. | var isEditMode = searchParams.action === "edit"; | ||
var isAutosaveMode = searchParams. | var isAutosaveMode = searchParams.autosave === "1"; | ||
if (!(isEditMode && isAutosaveMode)) return ""; | if (!(isEditMode && isAutosaveMode)) return ""; | ||
2018년 3월 18일 (일) 19:27 판
이 플러그인에 대한 자세한 설명을 보시려면 틀:자동저장을 참고해주세요.
/* 작동 가능한 네임스페이스 */ var safeNameSpace = [""]; /* autosave 편집모드가 아닐 경우 플러그인 종료 */ var searchParams = geturlSearch(location); var isEditMode = searchParams.action === "edit"; var isAutosaveMode = searchParams.autosave === "1"; if (!(isEditMode && isAutosaveMode)) return ""; /* 자동 저장하기에 안전한 네임스페이스가 아닌 경우 플러그인 종료 */ var thisNamespaceNumber = mw.config.get("wgNamespaceNumber"); var nameSpaceIds = mw.config.get("wgNamespaceIds"); var isSafeNameSpace = safeNameSpace .map(function (namespace) { return nameSpaceIds[namespace]; }) .some(function (nsNumber) { return nsNumber == thisNamespaceNumber; }); if (!(isSafeNameSpace)) return ""; /* 자동 인증된 사용자가 아닌 경우 플러그인 종료 */ var userGroups = mw.config.get('wgUserGroups'); var autocheck = 0; if (userGroups) { for (var i = 0; i < userGroups.length; i++) { if (userGroups[i] === 'autoconfirmed') { autocheck++; } } } if (autocheck != 1) return ""; /* 지정된 단락에서 불러오기 */ var savetempDom = $(".game-autosave"); if ($(".game-autosave").length === 0) throw new Error("autosave => game-autosave를 클래스명으로 가진 돔을 찾을 수 없습니다."); var savetemp = $(".game-autosave").html(); /* 문제가 되는 문자열 치환 */ savetemp = savetemp.replace(/(<([^>]+)>)/ig, ""); savetemp = savetemp.replace(/\n+/gi, "\n"); savetemp = savetemp.replace("\n", ""); savetemp = savetemp.replace(/</gi, "<"); savetemp = savetemp.replace(/>/gi, ">"); /* 기록, 저장하고 빠져나오기 */ $("#wpTextbox1").val(savetemp); $("#wpSave").click(); return; /** 이 플러그인 제작을 도와주신 분들 * Ver 2 제작자: [[사용자:BANIP|BANIP]] * 원 코드 작성자: [[사용자:*devunt]] */