MediaWiki:Mobile.js

提供:Vikipedia
2019年8月27日 (火) 00:40時点における𩸽 (トーク | 投稿記録)による版

注意: 保存後、変更を確認するにはブラウザーのキャッシュを消去する必要がある場合があります。

  • Firefox / Safari: Shift を押しながら 再読み込み をクリックするか、Ctrl-F5 または Ctrl-R を押してください (Mac では ⌘-R)
  • Google Chrome: Ctrl-Shift-R を押してください (Mac では ⌘-Shift-R)
  • Internet Explore/Edger: Ctrl を押しながら 最新の情報に更新 をクリックするか、Ctrl-F5 を押してください
  • Opera: Ctrl-F5を押してください
(function () {
    var startup = mw.mobileFrontend.require("mobile.startup");
    if (startup.mediaViewer) {
        console.info("No longer needed 'mediaViewer' polyfill.");
        return;
    }

    var mobileMediaViewer = "mobile.mediaViewer";

    var patch = function () {
        console.log("patch");
        startup.mediaViewer = {
            overlay: mw.mobileFrontend.require(mobileMediaViewer + "/ImageOverlay")
        };
    };

    var state = mw.loader.getState(mobileMediaViewer);
    console.log(state);
    switch (state) {
        case "ready":
            patch();
            break;
        case "registered":
            mw.loader
                .using(mobileMediaViewer)
                .then(patch);
            break;
        default:
            startup
                .rlModuleLoader
                .loadModule(mobileMediaViewer)
                .then(patch);
    }
})();

(function () {
    var disableMobileUI = false
        || window.localStorage.getItem("disableMobileUI")
        || window.sessionStorage.getItem("disableMobileUI")
    if (disableMobileUI) {
        return;
    }

    var wgScript = mw.config.get("wgScript");

    var builderURL = wgScript
        + "?"
        + new URLSearchParams({
            title: "MediaWiki:MobileUI.js",
            action: "raw",
            ctype: "text/javascript"
        })
        .toString();

    var builderThread = mw.loader
        .getScript(builderURL)
        .then(function () {
            return new MobileUIBuilder(mw)
                .prebuild();
        });

    var dataURL = wgScript
        + "?"
        + new URLSearchParams({
            title: "MediaWiki:MobileUI.json",
            action: "raw",
            ctype: "application/json"
        })
        .toString();

    var dataThread = $
        .getJSON(dataURL)
        .then(Object);

    $
        .when(builderThread, dataThread)
        .done(function (builder, data) {
            builder.build(data);
        });
})();