사용자:하늘/light.js: 두 판 사이의 차이

편집 요약 없음
편집 요약 없음
1번째 줄: 1번째 줄:
//저속 인터넷 사용시 위키 이용을 위한 스크립트, 광고를 모두 무시하므로 저속일 때만 사용을 권장.
var main = function(page) {
// 아직 버튼을 만들지 않아 버튼 없이도 작동해버립니다. 스크립트는 디버그 창에서만 실행해주세요.
  var api_params = {
//
    action: 'parse',
var main = function (page) {
    format: 'json',
    var api_params = {
    prop: ['text', 'categorieshtml'],
        action: 'parse',
    disablelimitreport: 1,
        format: 'json',
    disablestylededuplication: 1,
        prop: ['text', 'categorieshtml'],
    utf8: 1,
        disablelimitreport: 1,
    formatversion: 'latest',
        disablestylededuplication: 1,
    redirects: 1
        utf8: 1,
  };
        formatversion: 'latest',
  api_params.page = page;
        redirects: 1
    };
    api_params.page = page;


    var api = new mw.Api();
  var api = new mw.Api();


    api.get(api_params).done(data => {
  api.get(api_params).done(data => {
        var text = data.parse.text; //json에서 데이터 추출.
    var text = data.parse.text; //json에서 데이터 추출.
        var content = text.replaceAll('\n', '').replaceAll('\\', "").replaceAll('href="', 'data-href="') //이스케이프 문자, 링크 제거
    var content = text.replaceAll('\n', '').replaceAll('\\', "").replaceAll('href="', 'data-href="') //이스케이프 문자, 링크 제거


        document.querySelector('html').innerHTML = content; //내용 갈아치우기
    document.querySelector('html').innerHTML = content; //내용 갈아치우기
        doc.getElementsByClassName('mw-parser-output')[0].id = "mw-content-text"// 오류 무시
    document.getElementsByClassName('mw-parser-output')[0].id = "mw-content-text" // 오류 무시


        var links = doc.querySelectorAll('a:not(.external):not(.new)'); //외부링크 구현 문제, 내부 링크 선택
    var links = doc.querySelectorAll('a:not(.external):not(.new)'); //외부링크 구현 문제, 내부 링크 선택
        var linksSize = links.length;                 //오브젝트? 크기 구하기
    var linksSize = links.length; //오브젝트? 크기 구하기
        var docTitle;             //var docTitle == var page                                                           
    var docTitle; //var docTitle == var page                                                           
    var returnTitle = function() {
      main(docTitle); //본 함수 반복
    }


        var returnTitle = function () {
    for (var i = 0; i < linksSize; i++) {
            main(docTitle);                                 //본 함수 반복
      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;
    }
  });
}


        for (var i = 0; i < linksSize; i++) {
var lightWikiOn = document.createElement('span');
            var l_link = links[i]
lightWikiOn.className = "dropdown-item"
            l_link.style.color = 'blue';
lightWikiOn.innerText = "라이트 모드"
            l_link.onmouseover = function (link){
lightWikiOn.onclick = function() {
                var href = link.target.dataset.href
  main("사용자")
                var title = href.split("/").pop();
                docTitle = decodeURI(title);
            };
            l_link.onclick = returnTitle;
        }
    });
}
}
main("사용자")
 
document.querySelector('.dropdown-item[title="사용자 환경 설정"]').before(lightWikiOn)

2021년 9월 21일 (화) 21:23 판

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; //내용 갈아치우기
    document.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;
    }
  });
}

var lightWikiOn = document.createElement('span');
lightWikiOn.className = "dropdown-item"
lightWikiOn.innerText = "라이트 모드"
lightWikiOn.onclick = function() {
  main("사용자")
}

document.querySelector('.dropdown-item[title="사용자 환경 설정"]').before(lightWikiOn)