提供: Japanese Scratch-Wiki

< 利用者:227kei

1行目: 1行目:
 
/*
 
/*
     このスクリプトはCC0です。
+
     このJavaScriptはCC0です。
     但し、使用は自己責任でお願いします。
+
     ほかの場所で使う場合、動作の保障はありません。自己責任で使用してください。
    IEでは動作しません。
 
 
*/
 
*/
 
console.info("loading:common.js");
 
console.info("loading:common.js");
 
var root = {};
 
var root = {};
root.mw = {};
+
mw = {};
root.mw.getSkin = mw.config.get("skin");
+
mw.getSkin = mw.config.get("skin");
root.mw.getAction = mw.config.get("wgAction");
+
mw.getAction = mw.config.get("wgAction");
root.mw.getClass = mw.config.get("wgCategories");
+
mw.getClass = mw.config.get("wgCategories");
root.mw.isArticle = mw.config.get("wgIsArticle");
+
mw.isArticle = mw.config.get("wgIsArticle");
root.mw.isRedirect = mw.config.get("wgIsRedirect");
+
mw.isRedirect = mw.config.get("wgIsRedirect");
root.mw.getName = mw.config.get("wgPageName");
+
mw.getName = mw.config.get("wgPageName");
root.mw.getNameClass = mw.config.get("wgNamespaceNumber");
+
mw.getNameClass = mw.config.get("wgNamespaceNumber");
root.mw.getUserName = mw.config.get("wgUserName");
+
mw.getUserName = mw.config.get("wgUserName");
root.mw.getEditCount = mw.config.get("wgUserEditCount");
+
mw.getEditCount = mw.config.get("wgUserEditCount");
root.mw.constant = {};
+
mw.constant = {};
root.mw.constant.username = mw.config.get("wgUserName");
+
mw.constant.username = mw.config.get("wgUserName");
root.dom = {};
+
dom = {};
root.dom.get = function(id){
+
dom.get = function(id){
 
     return document.getElementById(id);
 
     return document.getElementById(id);
 
}
 
}
root.dom.trigger = function(name){
+
dom.trigger = function(name){
 
         var event = null;
 
         var event = null;
 
         name = name + (name?"_":"");
 
         name = name + (name?"_":"");
         if(root.mw.getNameClass == -1){ /* 特別 */
+
         if(mw.getNameClass === -1){ /* 特別 */
 
             event = new Event(name + "special");
 
             event = new Event(name + "special");
         }else if(root.mw.getNameClass == 0){ /* 無名 */
+
         }else if(mw.getNameClass === 0){ /* 無名 */
 
             event = new Event(name + "normal");
 
             event = new Event(name + "normal");
         }else if(root.mw.getNameClass == 1){ /* 議論 */
+
         }else if(mw.getNameClass === 1){ /* 議論 */
 
             event = new Event(name + "talk");
 
             event = new Event(name + "talk");
         }else if(root.mw.getNameClass == 2){ /* 利用者 */
+
         }else if(mw.getNameClass === 2){ /* 利用者 */
 
             event = new Event(name + "user");
 
             event = new Event(name + "user");
         }else if(root.mw.getNameClass == 6){ /* ファイル */
+
         }else if(mw.getNameClass === 6){ /* ファイル */
 
             event = new Event(name + "file");
 
             event = new Event(name + "file");
         }else if(root.mw.getNameClass == 10){ /* テンプレート */
+
         }else if(mw.getNameClass === 10){ /* テンプレート */
 
             event = new Event(name + "template");
 
             event = new Event(name + "template");
         }else if(root.mw.getNameClass == 12){ /* ヘルプ */
+
         }else if(mw.getNameClass === 12){ /* ヘルプ */
 
             event = new Event(name + "help");
 
             event = new Event(name + "help");
         }else if(root.mw.getNameClass == 14){ /* カテゴリ */
+
         }else if(mw.getNameClass === 14){ /* カテゴリ */
 
             event = new Event(name + "category");
 
             event = new Event(name + "category");
 
         }
 
         }
 
         window.dispatchEvent(event);     
 
         window.dispatchEvent(event);     
 
}
 
}
root.def = {};
+
def = {};
root.def.search =function(val){
+
def.search =function(val){
location.href = "https://ja.scratch-wiki.info/w/index.php?title=特別:検索&search=" + val + "&fulltext=検索&profile=all";
+
    location.href = "https://ja.scratch-wiki.info/w/index.php?title=特別:検索&search=" + val + "&fulltext=検索&profile=all";
 +
}
 +
def.template1 = function(){
 +
    document.head.insertAdjacentHTML("beforeend","<style type='text/css'>.summary + div{display:none;}.summary:focus,.summary + div:focus{display:block;}</style>");
 +
    dom.get("navigation").insertAdjacentHTML("afterend","<div style='color:#fff;background:#673ab7;box-shadow: 0 0 3px rgba(0,0,0,0.25);'><div class='summary'>ツールバーを展開&emsp;<input onchange=def.search(this.value); placeholder='すべてを対象に検索'>&emsp;<span onclick=def.editMode();>編集モードに移行</span>&nbsp;<a href='https://ja.scratch-wiki.info/wiki/メインページ'>メインページへ</a></div><div><ul style='list-style:none;'><li><a href='/wiki/特別:特別ページ一覧'>特別ページ一覧</a></li><li><a href='/wiki/特別:最近の更新'>最近の更新</a></li><li><a href='/wiki/特別:アップロード'>ファイルをアップロード</a></li><li><a href='/wiki/特別:不正利用フィルター'>ファイルをア不正利用フィルターの管理と記録</a></li><li><a href='/wiki/JS:CP'>コミュニティーポータル</a></li></ul><div><a href='https://ja.scratch-wiki.info/w/index.php?title=利用者:227kei/common.js&action=edit'>common.jsを管理します</a></div></div></div>");
 +
}
 +
def.editMode = function(){
 +
    ["navigation","footer","siteNotice","feet"].forEach(function(i){
 +
        dom.get(i).style.display = "none";
 +
    });
 +
    document.querySelector("#view > div > div > div.left").style.display = "none";
 
}
 
}
 
console.info("setup:common.js");
 
console.info("setup:common.js");
window.onload = function(){
+
window.addEventListener("load",function(){
 
     var event = "";
 
     var event = "";
     if(root.mw.getAction == "view"){
+
     if(mw.getAction == "view"){
 
         console.info("work:common.js/view");
 
         console.info("work:common.js/view");
 
         event = new Event("view");
 
         event = new Event("view");
 
         window.dispatchEvent(event);
 
         window.dispatchEvent(event);
         root.dom.trigger("view");
+
         dom.trigger("view");
     }else if(root.mw.getAction == "edit"){
+
     }else if(mw.getAction == "edit"){
 
         console.info("work:common.js/edit");
 
         console.info("work:common.js/edit");
 
         event = new Event("edit");
 
         event = new Event("edit");
 
         window.dispatchEvent(event);
 
         window.dispatchEvent(event);
         root.dom.trigger("edit");
+
         dom.trigger("edit");
     }else if(root.mw.getAction == "history"){
+
     }else if(mw.getAction == "history"){
 
         console.info("work:common.js/history");
 
         console.info("work:common.js/history");
 
         event = new Event("history");
 
         event = new Event("history");
 
         window.dispatchEvent(event);
 
         window.dispatchEvent(event);
         root.dom.trigger("his");
+
         dom.trigger("his");
 
     }
 
     }
     root.dom.trigger();
+
     dom.trigger();
 
     event = null;
 
     event = null;
}
+
});
 
window.addEventListener("view",function(){
 
window.addEventListener("view",function(){
 
     console.info("catch:common.js/onView");
 
     console.info("catch:common.js/onView");
     var node = document.createElement('details');
+
     def.template1();
    node.style = "background:#00bfff;box-shadow: 0 0 3px rgba(0,0,0,0.25);";
 
    node.innerHTML = "\
 
        <summary>ツールバーを展開&emsp;<input onchange=root.def.search(this.value); placeholder='すべてを対象に検索'></summary>\
 
        <ul style='list-style:none;'>\
 
            <li style='color:#f0f0f0;'><a href='/wiki/特別:特別ページ一覧'>特別ページ一覧</a></li>\
 
            <li style='color:#f0f0f0;'><a href='/wiki/特別:最近の更新'>最近の更新</a></li>\
 
            <li style='color:#f0f0f0;'><a href='/wiki/特別:アップロード'>ファイルをアップロード</a></li>\
 
            <li style='color:#f0f0f0;'><a href='/wiki/特別:不正利用フィルター'>ファイルをア不正利用フィルターの管理と記録</a></li>\
 
            <li style='color:#f0f0f0;'><a href='/wiki/JS:CP'>コミュニティーポータル</a></li>\
 
        </ul>\
 
        <p><a href='https://ja.scratch-wiki.info/w/index.php?title=利用者:227kei/common.js&action=edit'>common.jsを管理します</a></p>";
 
    root.dom.get("view").insertBefore(node, root.dom.get("view").firstChild);
 
 
});
 
});
 
window.addEventListener("edit",function(){
 
window.addEventListener("edit",function(){
 
     console.info("catch:common.js/onEdit");
 
     console.info("catch:common.js/onEdit");
     var node = document.createElement('details');
+
     def.template1();
    node.style = "background:#00bfff;box-shadow: 0 0 3px rgba(0,0,0,0.25);";
 
    node.innerHTML = "\
 
        <summary>ツールバーを展開&emsp;<input onchange=root.def.search(this.value); placeholder='すべてを対象に検索'></summary>\
 
        <ul style='list-style:none;'>\
 
            <li style='color:#f0f0f0;'><a href='/wiki/特別:特別ページ一覧'>特別ページ一覧</a></li>\
 
            <li style='color:#f0f0f0;'><a href='/wiki/特別:最近の更新'>最近の更新</a></li>\
 
            <li style='color:#f0f0f0;'><a href='/wiki/特別:アップロード'>ファイルをアップロード</a></li>\
 
            <li style='color:#f0f0f0;'><a href='/wiki/特別:不正利用フィルター'>ファイルをア不正利用フィルターの管理と記録</a></li>\
 
            <li style='color:#f0f0f0;'><a href='/wiki/JS:CP'>コミュニティーポータル</a></li>\
 
        </ul>\
 
        <p><a href='https://ja.scratch-wiki.info/w/index.php?title=利用者:227kei/common.js&action=edit'>common.jsを管理します</a></p>";
 
    root.dom.get("view").insertBefore(node, root.dom.get("view").firstChild);
 
 
});
 
});
 
window.addEventListener("edit_talk",function(){
 
window.addEventListener("edit_talk",function(){
 
     console.info("catch:common.js/onEdit.Talk");
 
     console.info("catch:common.js/onEdit.Talk");
     var node = document.createElement('div');
+
     dom.get("navigation").insertAdjacentHTML("afterend","<center><b>署名を忘れないでください。</b></center>署名忘れ:<code><nowiki>{{unsigned2|ユーザー名|XXXX-0X-XX XX:XXJST}}</nowiki></code>");
    node.style = "background:#f0f;";
 
    node.innerHTML = "<center><b>署名を忘れないでください。</b></center>署名忘れ:<code><nowiki>{{unsigned2|ユーザー名|XXXX-0X-XX XX:XXJST}}</nowiki></code>";
 
    root.dom.get("view").insertBefore(node, root.dom.get("view").firstChild);
 
 
});
 
});
 
console.info("loaded:common.js");
 
console.info("loaded:common.js");

2019年12月8日 (日) 13:36時点における版

/*
    このJavaScriptはCC0です。
    ほかの場所で使う場合、動作の保障はありません。自己責任で使用してください。
*/
console.info("loading:common.js");
var root = {};
mw = {};
mw.getSkin = mw.config.get("skin");
mw.getAction = mw.config.get("wgAction");
mw.getClass = mw.config.get("wgCategories");
mw.isArticle = mw.config.get("wgIsArticle");
mw.isRedirect = mw.config.get("wgIsRedirect");
mw.getName = mw.config.get("wgPageName");
mw.getNameClass = mw.config.get("wgNamespaceNumber");
mw.getUserName = mw.config.get("wgUserName");
mw.getEditCount = mw.config.get("wgUserEditCount");
mw.constant = {};
mw.constant.username = mw.config.get("wgUserName");
dom = {};
dom.get = function(id){
    return document.getElementById(id);
}
dom.trigger = function(name){
        var event = null;
        name = name + (name?"_":"");
        if(mw.getNameClass === -1){ /* 特別 */
            event = new Event(name + "special");
        }else if(mw.getNameClass === 0){ /* 無名 */
            event = new Event(name + "normal");
        }else if(mw.getNameClass === 1){ /* 議論 */
            event = new Event(name + "talk");
        }else if(mw.getNameClass === 2){ /* 利用者 */
            event = new Event(name + "user");
        }else if(mw.getNameClass === 6){ /* ファイル */
            event = new Event(name + "file");
        }else if(mw.getNameClass === 10){ /* テンプレート */
            event = new Event(name + "template");
        }else if(mw.getNameClass === 12){ /* ヘルプ */
            event = new Event(name + "help");
        }else if(mw.getNameClass === 14){ /* カテゴリ */
            event = new Event(name + "category");
        }
        window.dispatchEvent(event);    
}
def = {};
def.search =function(val){
    location.href = "https://ja.scratch-wiki.info/w/index.php?title=特別:検索&search=" + val + "&fulltext=検索&profile=all";
}
def.template1 = function(){
    document.head.insertAdjacentHTML("beforeend","<style type='text/css'>.summary + div{display:none;}.summary:focus,.summary + div:focus{display:block;}</style>");
    dom.get("navigation").insertAdjacentHTML("afterend","<div style='color:#fff;background:#673ab7;box-shadow: 0 0 3px rgba(0,0,0,0.25);'><div class='summary'>ツールバーを展開&emsp;<input onchange=def.search(this.value); placeholder='すべてを対象に検索'>&emsp;<span onclick=def.editMode();>編集モードに移行</span>&nbsp;<a href='https://ja.scratch-wiki.info/wiki/メインページ'>メインページへ</a></div><div><ul style='list-style:none;'><li><a href='/wiki/特別:特別ページ一覧'>特別ページ一覧</a></li><li><a href='/wiki/特別:最近の更新'>最近の更新</a></li><li><a href='/wiki/特別:アップロード'>ファイルをアップロード</a></li><li><a href='/wiki/特別:不正利用フィルター'>ファイルをア不正利用フィルターの管理と記録</a></li><li><a href='/wiki/JS:CP'>コミュニティーポータル</a></li></ul><div><a href='https://ja.scratch-wiki.info/w/index.php?title=利用者:227kei/common.js&action=edit'>common.jsを管理します</a></div></div></div>");
}
def.editMode = function(){
    ["navigation","footer","siteNotice","feet"].forEach(function(i){
        dom.get(i).style.display = "none";
    });
    document.querySelector("#view > div > div > div.left").style.display = "none";
}
console.info("setup:common.js");
window.addEventListener("load",function(){
    var event = "";
    if(mw.getAction == "view"){
        console.info("work:common.js/view");
        event = new Event("view");
        window.dispatchEvent(event);
        dom.trigger("view");
    }else if(mw.getAction == "edit"){
        console.info("work:common.js/edit");
        event = new Event("edit");
        window.dispatchEvent(event);
        dom.trigger("edit");
    }else if(mw.getAction == "history"){
        console.info("work:common.js/history");
        event = new Event("history");
        window.dispatchEvent(event);
        dom.trigger("his");
    }
    dom.trigger();
    event = null;
});
window.addEventListener("view",function(){
    console.info("catch:common.js/onView");
    def.template1();
});
window.addEventListener("edit",function(){
    console.info("catch:common.js/onEdit");
    def.template1();
});
window.addEventListener("edit_talk",function(){
    console.info("catch:common.js/onEdit.Talk");
    dom.get("navigation").insertAdjacentHTML("afterend","<center><b>署名を忘れないでください。</b></center>署名忘れ:<code><nowiki>{{unsigned2|ユーザー名|XXXX-0X-XX XX:XXJST}}</nowiki></code>");
});
console.info("loaded:common.js");