미디어위키:Gadget-imageview.js

최근 편집: 2024년 6월 30일 (일) 17:24

참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.

  • 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
  • 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
  • 인터넷 익스플로러 / 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
  • 오페라: Ctrl-F5를 입력.
// <nowiki>
(function () {
  'use strict';

  $('#content a.image').click(function (event) {
    event.preventDefault();

    var overlay = $('<div id="Imageview-overlay"></div>')
      .click(function () {
        $(this).remove();
        overlay = undefined;
        $('body').css('overflow', 'auto');
      })
      .appendTo('body');

    overlay.append(
      $('<img></img>')
        .attr(
          'src',
          'https://upload.wikimedia.org/wikipedia/commons/d/de/Ajax-loader.gif'
        )
        .addClass('loading-spinner')
    );

    $('body').css('overflow', 'hidden');
    new mw.Api()
      .get({
        action: 'query',
        titles: decodeURI(
          $(this)
            .attr('href')
            .match(/\/([^/]+)$/)[1]
        ),
        prop: 'imageinfo',
        iiprop: 'url',
      })
      .then(function (data) {
        if (overlay === undefined) return;
        var imageSource;
        Object.keys(data.query.pages).forEach(function (page) {
          imageSource = data.query.pages[page].imageinfo[0].url;
        });

        overlay.append(
          $('<img></img>').attr('src', imageSource).addClass('image')
        );
      });
  });
})();
// </nowiki>