コンテンツにスキップ

利用者:Yuukin0248/nullEdit.js

お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。

多くの WindowsLinux のブラウザ

  • Ctrl を押しながら F5 を押す。

Mac における Safari

  • Shift を押しながら、更新ボタン をクリックする。

Mac における ChromeFirefox

  • Cmd Shift を押しながら R を押す。

詳細についてはWikipedia:キャッシュを消すをご覧ください。

/**
 * nullEdit.js
 * 個人用ツールバーに表示中のページを空編集するリンクを追加
 * カテゴリページの場合は、カテゴリ内のページをすべて空編集するリンクも追加
 */

$.when($.ready, mw.loader.using(['mediawiki.util', 'mediawiki.api'])).then(function () {
  if (!mw.config.get('wgIsArticle')) return;

  const pageId = mw.config.get('wgArticleId');
  const url = mw.util.getUrl();

  // 表示中のページを空編集するリンク
  const params = ['p-cactions', url, '空編集', 'pc-nulledit', 'このページを空編集する'];
  $(mw.util.addPortletLink(...params)).on('click', function (e) {
    e.preventDefault();
    new mw.Api()
      .post({ action: 'purge', forcelinkupdate: true, pageids: pageId })
      .done(function () {
        location.reload();
      })
      .fail(function (err) {
        console.log(err);
        mw.notify('空編集に失敗しました。');
      });
  });

  // カテゴリページなら、カテゴリ内のページを空編集するリンク
  if (mw.config.get('wgNamespaceNumber') === 14) {
    const params = ['p-cactions', url, 'カテゴリ内ページを空編集', 'pc-members-nulledit', 'このカテゴリ内のページを空編集する'];
    $(mw.util.addPortletLink(...params)).on('click', function (e) {
      e.preventDefault();
      new mw.Api()
        .post({
          action: 'purge',
          forcelinkupdate: true,
          generator: 'categorymembers',
          gcmpageid: pageId,
          gcmlimit: 'max',
        })
        .done(function () {
          location.reload();
        })
        .fail(function (err) {
          console.log(err);
          mw.notify('空編集に失敗しました。');
        });
    });
  }
});