틀:자동저장/플러그인: 두 판 사이의 차이

리버티게임, 모두가 만들어가는 자유로운 게임
백괴게임>Manymaster
편집 요약 없음
백괴게임>Manymaster
편집 요약 없음
12번째 줄: 12번째 줄:


{{#vardefine:code|
{{#vardefine:code|
<pre>
<nowiki>
/* 작동 가능한 네임스페이스 */
/* 작동 가능한 네임스페이스 */
const safeNameSpace = [""];
const safeNameSpace = [""];
52번째 줄: 52번째 줄:
savetemp = savetemp.replace(/\n+/gi, "\n");
savetemp = savetemp.replace(/\n+/gi, "\n");
savetemp = savetemp.replace("\n", "");
savetemp = savetemp.replace("\n", "");
savetemp = savetemp.replace(/&lt;/gi, "<");
savetemp = savetemp.replace(/&amp;lt;/gi, "<");
savetemp = savetemp.replace(/&gt;/gi, ">");
savetemp = savetemp.replace(/&amp;gt;/gi, ">");


/* 기록, 저장하고 빠져나오기 */
/* 기록, 저장하고 빠져나오기 */
60번째 줄: 60번째 줄:
return;
return;


</pre>
</nowiki>
}}
}}



2018년 3월 4일 (일) 05:40 판

요령 => 아래 변수들의 첫번째 인자들을 내용에 맞게 자르고 붙여넣어주세요

!!!!!!!!!!!!!!!! 플러그인 정보 입력 구간 윗부분은 만지지 마시오 절대로!!!!!!!!!!!!!!!!!






!!!!!!!!!!!!!!!! 플러그인 정보 입력 구간 끝 아래는 만지지 마시오!!!!!!!!!!!!!!!!!

		 
/* 작동 가능한 네임스페이스 */
const safeNameSpace = [""];

/* autosave 편집모드가 아닐 경우 플러그인 종료 */
const searchParams = new URL(location).searchParams;
const isEditMode = searchParams.get("action") === "edit";
const isAutosaveMode = searchParams.get("autosave") === "1";
if(!(isEditMode && isAutosaveMode)) return "";

/* 자동 저장하기에 안전한 네임스페이스가 아닌 경우 플러그인 종료 */
const thisNamespaceNumber = mw.config.get("wgNamespaceNumber");
const nameSpaceIds = mw.config.get("wgNamespaceIds");
const 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 "";

/* 지정된 단락에서 불러오기 */
const 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(/&lt;/gi, "<");
savetemp = savetemp.replace(/&gt;/gi, ">");

/* 기록, 저장하고 빠져나오기 */
$("#wpTextbox1").val(savetemp);
$("#wpSave").click();
return;