コンテンツにスキップ

利用者:Yuukin0248/improvedLogout.js

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

多くの WindowsLinux のブラウザ

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

Mac における Safari

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

Mac における ChromeFirefox

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

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

/**
 * improvedLogout.js
 * 上部の個人用ツールバーの「ログアウト」を改善
 * ログアウトに確認メッセージを表示し、ログアウト完了後は閲覧中のページを自動で再読み込み
 */

$.when($.ready, mw.loader.using(['mediawiki.api', 'oojs-ui'])).then(function () {
  // 既に設定されているクリックイベントを削除し、新しいクリックイベントを追加
  $('#pt-logout a[data-mw="interface"]')
    .attr('href', null)
    .off('click')
    .on('click', function (e) {
      e.preventDefault();
      new OO.ui.confirm('ログアウトしますか?')
        .then((confirmed) => (confirmed ? new mw.Api().postWithToken('csrf', { action: 'logout' }) : false))
        .then(
          (reload) => reload && location.reload(),
          () => mw.notify('ログアウトに失敗しました。')
        );
    });
});