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

리버티게임(개발), 모두가 만들어가는 자유로운 게임
둘러보기로 이동 검색으로 이동
백괴게임>Manymaster
편집 요약 없음
백괴게임>Manymaster
편집 요약 없음
70번째 줄: 70번째 줄:
</div>{{#switch: {{{1|화면}}}
</div>{{#switch: {{{1|화면}}}
|dump =  
|dump =  
|화면 = {{플러그인/preset/각주}}
|화면 = 이 플러그인에 대한 자세한 설명을 보시려면 [[틀:자동저장]]을 참고해주세요.[[분류:플러그인]]
<p<includeonly></includeonly>re class="script" data-name="{{#var:name}}"  
<p<includeonly></includeonly>re class="script" data-name="{{#var:name}}"  
    data-create="{{#var:creat}}"  
    data-create="{{#var:creat}}"  
77번째 줄: 77번째 줄:
    data-local="{{#var:local}}"
    data-local="{{#var:local}}"
    data-executable="{{#var:executable}}"
    data-executable="{{#var:executable}}"
    data-state="백괴게임:자동저장 플러그인">
    data-state=":자동저장/플러그인">
{{#var:code}}
{{#var:code}}
</pre>
</pre>
83번째 줄: 83번째 줄:
                 {{#ifeq:{{{2|틀}}}|틀|{{플러그인/알림|{{#var:name}}}}|}}
                 {{#ifeq:{{{2|틀}}}|틀|{{플러그인/알림|{{#var:name}}}}|}}
<span class="use-script" data-name="{{#var:name}}" data-creat="{{#var:creat}}" data-version="{{#var:version}}" data-executable="{{#var:executable}}"
<span class="use-script" data-name="{{#var:name}}" data-creat="{{#var:creat}}" data-version="{{#var:version}}" data-executable="{{#var:executable}}"
data-descript="{{#var:descript}}" data-local="{{#var:local}}" data-state="백괴게임:자동저장 플러그인" data-link="{{fullurl: {{#rel2abs: {{{1}}} }} }}"></span>
data-descript="{{#var:descript}}" data-local="{{#var:local}}" data-state=":자동저장/플러그인" data-link="{{fullurl: {{#rel2abs: {{{1}}} }} }}"></span>
}}
}}

2018년 3월 5일 (월) 14:58 판

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

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






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

이 플러그인에 대한 자세한 설명을 보시려면 틀:자동저장을 참고해주세요.

		 
/* 작동 가능한 네임스페이스 */
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;

/** 이 플러그인 제작을 도와주신 분들
 * Ver 2 제작자: [[사용자:BANIP|BANIP]]
 * 원 코드 작성자: [[사용자:*devunt]]
*/