|
|
(사용자 2명의 중간 판 47개는 보이지 않습니다) |
1번째 줄: |
1번째 줄: |
| //저속 인터넷 사용시 위키 이용을 위한 스크립트, 광고를 모두 무시하므로 저속일 때만 사용을 권장.
| |
| // 아직 버튼을 만들지 않아 버튼 없이도 작동해버립니다. 스크립트는 디버그 창에서만 실행해주세요.
| |
| //
| |
| var main = function (page) {
| |
| var api_params = {
| |
| action: 'parse',
| |
| format: 'json',
| |
| prop: ['text', 'categorieshtml'],
| |
| disablelimitreport: 1,
| |
| disablestylededuplication: 1,
| |
| utf8: 1,
| |
| formatversion: 'latest',
| |
| redirects: 1
| |
| };
| |
| api_params.page = page;
| |
|
| |
|
| var api = new mw.Api();
| |
|
| |
| api.get(api_params).done(data => {
| |
| var text = data.parse.text; //json에서 데이터 추출.
| |
| var content = text.replaceAll('\n', '').replaceAll('\\', "").replaceAll('href="', 'data-href="') //이스케이프 문자, 링크 제거
| |
|
| |
| document.querySelector('html').innerHTML = content; //내용 갈아치우기
| |
| doc.getElementsByClassName('mw-parser-output')[0].id = "mw-content-text"// 오류 무시
| |
|
| |
| var links = doc.querySelectorAll('a:not(.external):not(.new)'); //외부링크 구현 문제, 내부 링크 선택
| |
| var linksSize = links.length; //오브젝트? 크기 구하기
| |
| var docTitle; //var docTitle == var page
| |
|
| |
| var returnTitle = function () {
| |
| main(docTitle); //본 함수 반복
| |
| }
| |
|
| |
| for (var i = 0; i < linksSize; i++) {
| |
| var l_link = links[i]
| |
| l_link.style.color = 'blue';
| |
| l_link.onmouseover = function (link){
| |
| var href = link.target.dataset.href
| |
| var title = href.split("/").pop();
| |
| docTitle = decodeURI(title);
| |
| };
| |
| l_link.onclick = returnTitle;
| |
| }
| |
| });
| |
| }
| |
| main("사용자")
| |