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

잔글 (Cerulean님이 사용자:Cerulean/editcounter.js 문서를 넘겨주기를 만들지 않고 사용자:Cerulean/light.js 문서로 이동했습니다)
편집 요약 없음
1번째 줄: 1번째 줄:
//저속 인터넷 사용시 위키 이용을 위한 스크립트, 광고를 모두 무시하므로 저속일 때만 사용을 권장.
//저속 인터넷 사용시 위키 이용을 위한 스크립트, 광고를 모두 무시하므로 저속일 때만 사용을 권장.
// 아직 버튼을 만들지 않아 버튼 없이도 작동해버립니다. 스크립트는 디버그 창에서만 실행해주세요.
//
var main = function (page) {
var main = function (page) {
     var api_params = {
     var api_params = {

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

//저속 인터넷 사용시 위키 이용을 위한 스크립트, 광고를 모두 무시하므로 저속일 때만 사용을 권장.
// 아직 버튼을 만들지 않아 버튼 없이도 작동해버립니다. 스크립트는 디버그 창에서만 실행해주세요.
//
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("사용자")