"미디어위키:Common.js"의 두 판 사이의 차이
| (같은 사용자의 중간 판 153개는 보이지 않습니다) | |||
| 12번째 줄: | 12번째 줄: | ||
} | } | ||
*/ | */ | ||
//TOKEN | |||
// $.ajax({ | |||
// type: "POST", | |||
// url: mw.util.wikiScript('api'), | |||
// data: {action: 'query', meta: 'tokens', type: 'csrf', format: 'json'}, | |||
// dataType: 'json', | |||
// async: false, | |||
// success: function( result ){ | |||
// var token = result.query.tokens.csrftoken; | |||
// console.log(token); | |||
// } | |||
// }); | |||
//동일 유형 동시 조회 | |||
var categories = document.querySelector(".menu-list"); | |||
if(categories != null) { | |||
var listTable = document.createElement( 'table' ); | |||
// TITLE | |||
var tr = document.createElement( 'tr' ); | |||
var th1 = document.createElement( 'th' ); | |||
th1.innerText = '문서 제목'; | |||
tr.appendChild( th1 ); | |||
var th2 = document.createElement( 'th' ); | |||
th2.innerText = '발송사'; | |||
tr.appendChild( th2 ); | |||
var th3 = document.createElement( 'th' ); | |||
th3.innerText = '수신일'; | |||
tr.appendChild( th3 ); | |||
var th4 = document.createElement( 'th' ); | |||
th4.innerText = '비고'; | |||
tr.appendChild( th4 ); | |||
listTable.appendChild( tr ); | |||
//TOKEN | |||
// var token; | |||
// | |||
// $.ajax({ | |||
// type: "POST", | |||
// url: mw.util.wikiScript('api'), | |||
// data: {action: 'query', meta: 'tokens', type: 'csrf', format: 'json'}, | |||
// dataType: 'json', | |||
// async: false, | |||
// success: function( result ){ | |||
// token = result.query.tokens.csrftoken; | |||
// } | |||
// }); | |||
// CONTENT | |||
for(var i = 0; i < categories.childNodes.length; i++) { | |||
var row = document.createElement( 'tr' ); | |||
var column1 = document.createElement( 'td' ); | |||
var link = document.createElement( 'a' ); | |||
link.setAttribute('href', categories.childNodes[i].childNodes[0].getAttribute('href')); | |||
link.innerText = categories.childNodes[i].innerText; | |||
link.setAttribute('style', 'color: #0645AD; font-weight: bold;'); | |||
column1.appendChild( link ); | |||
row.appendChild( column1 ); | |||
//data: {action: 'query', format: 'json', prop: 'description', titles: link.innerText}, | |||
//data: {action: 'import', interwikisource: 'meta', interwikipage: link.innerText, token: token, format: 'json'}, | |||
//data: {action: 'query', format: 'json', generator: 'search', gsrsearch: link.innerText, prop: 'iwlinks'}, | |||
// SEARCH END SECTION NUMBER | |||
var endNum; | |||
$.ajax({ | |||
type: "POST", | |||
url: mw.util.wikiScript('api'), | |||
data: {action: 'parse', format: 'json', page: link.innerText}, | |||
dataType: 'json', | |||
async: false, | |||
success: function ( result ){ | |||
endNum = result.parse.sections.length; | |||
} | |||
}); | |||
// SEARCH INFO OF SECTION | |||
var text, textArr; | |||
var text1 = text2 = text4 = ''; | |||
$.ajax({ | |||
type: "POST", | |||
url: mw.util.wikiScript('api'), | |||
data: {action: 'parse', format: 'json', page: link.innerText, prop: 'wikitext', section: endNum}, | |||
dataType: 'json', | |||
async: false, | |||
success: function ( result ){ | |||
textObj = result.parse.wikitext; | |||
text = JSON.stringify(textObj); | |||
textArr = text.split('|}}'); | |||
} | |||
}); | |||
for(var j = 0; j < textArr.length; j++) { | |||
var indexNum = textArr[j].lastIndexOf('|') + 1; | |||
var temp = textArr[j].substr(indexNum); | |||
//console.log(temp); | |||
switch(j) { | |||
case 1: | |||
text1 = temp; | |||
break; | |||
case 2: | |||
text2 = temp; | |||
break; | |||
case 4: | |||
text4 = temp; | |||
break; | |||
} | |||
} | |||
//console.log("-------"); | |||
var column2 = document.createElement( 'td' ); | |||
column2.innerText = text1; | |||
row.appendChild( column2 ); | |||
var column3 = document.createElement( 'td' ); | |||
column3.innerText = text2; | |||
row.appendChild( column3 ); | |||
var column4 = document.createElement( 'td' ); | |||
column4.innerText = text4; | |||
row.appendChild( column4 ); | |||
listTable.appendChild( row ); | |||
} | |||
listTable.setAttribute('class', 'menu-list-table'); | |||
categories.parentNode.insertBefore( listTable, categories.nextSibling ); | |||
categories.setAttribute('style', 'display:none;'); | |||
} | |||
//검색박스 한글 자동완성 | |||
'use strict'; | |||
var $input = $('#searchInput'); | |||
var $input = $('input[name=search]'); | |||
$input.keyup(function (e) { | |||
switch (e.key) { | |||
case 'ArrowUp': | |||
case 'ArrowRight': | |||
case 'ArrowDown': | |||
case 'ArrowLeft': | |||
return; | |||
} | |||
$input.trigger('keypress'); | |||
}); | |||
//신규 문서 일반 편집 고정 이동 ==> 신규 문서 테스트 폼으로 작성(폼 변경 시 '신규문서_작성'을 해당 폼 명으로 변경 ; 2022-12-02) | |||
var $new = $('.searchresults').find('.new'); | |||
var $href = $new.attr('href'); | |||
var hrefArr = $href.split('title='); | |||
var hrefTitle = hrefArr[1].split('&')[0]; | |||
var newTitle = '특수:데이터편집/신규문서_작성/' + hrefTitle; | |||
var newHref = hrefArr[0] + 'title=' + newTitle; | |||
$new.attr('href', newHref); | |||
//문구 변경 | |||
var exHtml = $('.searchresults').find('strong').html(); | |||
var exHtmlArr = exHtml.split('"'); | |||
var startText = exHtmlArr[0]; | |||
var endText = exHtmlArr[exHtmlArr.length-1]; | |||
var midText = exHtml.split(startText)[1].split(endText)[0]; | |||
var newText = midText + ' 를 클릭해 신규 문서를 작성하세요.'; | |||
$('.searchresults').find('strong').html(newText); | |||
2022년 12월 2일 (금) 14:01 기준 최신판
/* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */
/*
var sections = document.querySelectorAll(".veaction-section");
if(sections != null){
if(sections.length > 0){
for(var i = 0; i < sections.length; i++){
sections[i].children[0].setAttribute('href',sections[i].children[0].getAttribute('href') + (i+1));
}
}
}
*/
//TOKEN
// $.ajax({
// type: "POST",
// url: mw.util.wikiScript('api'),
// data: {action: 'query', meta: 'tokens', type: 'csrf', format: 'json'},
// dataType: 'json',
// async: false,
// success: function( result ){
// var token = result.query.tokens.csrftoken;
// console.log(token);
// }
// });
//동일 유형 동시 조회
var categories = document.querySelector(".menu-list");
if(categories != null) {
var listTable = document.createElement( 'table' );
// TITLE
var tr = document.createElement( 'tr' );
var th1 = document.createElement( 'th' );
th1.innerText = '문서 제목';
tr.appendChild( th1 );
var th2 = document.createElement( 'th' );
th2.innerText = '발송사';
tr.appendChild( th2 );
var th3 = document.createElement( 'th' );
th3.innerText = '수신일';
tr.appendChild( th3 );
var th4 = document.createElement( 'th' );
th4.innerText = '비고';
tr.appendChild( th4 );
listTable.appendChild( tr );
//TOKEN
// var token;
//
// $.ajax({
// type: "POST",
// url: mw.util.wikiScript('api'),
// data: {action: 'query', meta: 'tokens', type: 'csrf', format: 'json'},
// dataType: 'json',
// async: false,
// success: function( result ){
// token = result.query.tokens.csrftoken;
// }
// });
// CONTENT
for(var i = 0; i < categories.childNodes.length; i++) {
var row = document.createElement( 'tr' );
var column1 = document.createElement( 'td' );
var link = document.createElement( 'a' );
link.setAttribute('href', categories.childNodes[i].childNodes[0].getAttribute('href'));
link.innerText = categories.childNodes[i].innerText;
link.setAttribute('style', 'color: #0645AD; font-weight: bold;');
column1.appendChild( link );
row.appendChild( column1 );
//data: {action: 'query', format: 'json', prop: 'description', titles: link.innerText},
//data: {action: 'import', interwikisource: 'meta', interwikipage: link.innerText, token: token, format: 'json'},
//data: {action: 'query', format: 'json', generator: 'search', gsrsearch: link.innerText, prop: 'iwlinks'},
// SEARCH END SECTION NUMBER
var endNum;
$.ajax({
type: "POST",
url: mw.util.wikiScript('api'),
data: {action: 'parse', format: 'json', page: link.innerText},
dataType: 'json',
async: false,
success: function ( result ){
endNum = result.parse.sections.length;
}
});
// SEARCH INFO OF SECTION
var text, textArr;
var text1 = text2 = text4 = '';
$.ajax({
type: "POST",
url: mw.util.wikiScript('api'),
data: {action: 'parse', format: 'json', page: link.innerText, prop: 'wikitext', section: endNum},
dataType: 'json',
async: false,
success: function ( result ){
textObj = result.parse.wikitext;
text = JSON.stringify(textObj);
textArr = text.split('|}}');
}
});
for(var j = 0; j < textArr.length; j++) {
var indexNum = textArr[j].lastIndexOf('|') + 1;
var temp = textArr[j].substr(indexNum);
//console.log(temp);
switch(j) {
case 1:
text1 = temp;
break;
case 2:
text2 = temp;
break;
case 4:
text4 = temp;
break;
}
}
//console.log("-------");
var column2 = document.createElement( 'td' );
column2.innerText = text1;
row.appendChild( column2 );
var column3 = document.createElement( 'td' );
column3.innerText = text2;
row.appendChild( column3 );
var column4 = document.createElement( 'td' );
column4.innerText = text4;
row.appendChild( column4 );
listTable.appendChild( row );
}
listTable.setAttribute('class', 'menu-list-table');
categories.parentNode.insertBefore( listTable, categories.nextSibling );
categories.setAttribute('style', 'display:none;');
}
//검색박스 한글 자동완성
'use strict';
var $input = $('#searchInput');
var $input = $('input[name=search]');
$input.keyup(function (e) {
switch (e.key) {
case 'ArrowUp':
case 'ArrowRight':
case 'ArrowDown':
case 'ArrowLeft':
return;
}
$input.trigger('keypress');
});
//신규 문서 일반 편집 고정 이동 ==> 신규 문서 테스트 폼으로 작성(폼 변경 시 '신규문서_작성'을 해당 폼 명으로 변경 ; 2022-12-02)
var $new = $('.searchresults').find('.new');
var $href = $new.attr('href');
var hrefArr = $href.split('title=');
var hrefTitle = hrefArr[1].split('&')[0];
var newTitle = '특수:데이터편집/신규문서_작성/' + hrefTitle;
var newHref = hrefArr[0] + 'title=' + newTitle;
$new.attr('href', newHref);
//문구 변경
var exHtml = $('.searchresults').find('strong').html();
var exHtmlArr = exHtml.split('"');
var startText = exHtmlArr[0];
var endText = exHtmlArr[exHtmlArr.length-1];
var midText = exHtml.split(startText)[1].split(endText)[0];
var newText = midText + ' 를 클릭해 신규 문서를 작성하세요.';
$('.searchresults').find('strong').html(newText);