미디어위키:Common.js
참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.
- 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
- 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
- 인터넷 익스플로러 / 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
- 오페라: Ctrl-F5를 입력.
/* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */ /* 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)); } } } */ 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; 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; $.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(int i = 0; i < textArr.length; i++) { var indexNum = textArr[i].lastIndexOf('|'); console.log(indexNum); } console.log(textArr); } }); var column2 = document.createElement( 'td' ); //column2.innerText = '{{:2차 00고속도로(xx공구) 건설공사 설계변경|transcludesection=2발송사}}'; row.appendChild( column2 ); var column3 = document.createElement( 'td' ); //column3.innerText = '{{:2차 00고속도로(xx공구) 건설공사 설계변경|transcludesection=2수신일}}'; row.appendChild( column3 ); var column4 = document.createElement( 'td' ); //column4.innerText = '{{:2차 00고속도로(xx공구) 건설공사 설계변경|transcludesection=2비고}}'; row.appendChild( column4 ); listTable.appendChild( row ); } listTable.setAttribute('class', 'menu-list-table'); categories.parentNode.insertBefore( listTable, categories.nextSibling ); categories.setAttribute('style', 'display:none;'); }