미디어위키:Common.js: 두 판 사이의 차이
(아카디아 게시판 -> 아카디아 포럼 명칭 변경, 모바일 viewport 대응 추가) |
(아카디아 포럼 버튼 - 헤더 직접 주입 (모바일 가시성)) |
||
| 1번째 줄: | 1번째 줄: | ||
/* 아카디아 포럼 - | /* 아카디아 위키 - 사용자 정의 JS */ | ||
/* 아카디아 포럼 - 헤더 알약 탭 삽입 */ | |||
$(function() { | $(function() { | ||
if ($('.akadia-portal-links').length) return; | if ($('.akadia-portal-links').length) return; | ||
var $portal = $('<div class="akadia-portal-links"></div>'); | var $portal = $('<div class="akadia-portal-links"></div>'); | ||
$portal.append('<a href="https://forum.akadia.kr/" class="akadia-portal-link" title="아카디아 포럼">아카디아 포럼</a>'); | $portal.append('<a href="https://forum.akadia.kr/" class="akadia-portal-link" title="아카디아 포럼">아카디아 포럼</a>'); | ||
var $ | var $header = $('header.mw-header, .mw-header').first(); | ||
if ($header.length) { | |||
$header.append($portal); | |||
} else { | |||
var $userLinks = $('.vector-user-links').first(); | |||
if ($userLinks.length) { $userLinks.before($portal); } | |||
else { $('#p-personal').before($portal); } | |||
} | |||
}); | }); | ||
/* 모바일 viewport 대응 | /* 모바일 viewport 대응 */ | ||
(function() { | (function() { | ||
var screenW = window.screen && window.screen.width; | var screenW = window.screen && window.screen.width; | ||
| 14번째 줄: | 22번째 줄: | ||
var meta = document.querySelector('meta[name="viewport"]'); | var meta = document.querySelector('meta[name="viewport"]'); | ||
var content = 'width=device-width, initial-scale=1, shrink-to-fit=no'; | var content = 'width=device-width, initial-scale=1, shrink-to-fit=no'; | ||
if (meta) { meta.setAttribute('content', content); | if (meta) { | ||
else { | meta.setAttribute('content', content); | ||
} else { | |||
meta = document.createElement('meta'); | meta = document.createElement('meta'); | ||
meta.name | meta.setAttribute('name', 'viewport'); | ||
meta.content | meta.setAttribute('content', content); | ||
document.head.appendChild(meta); | document.head.appendChild(meta); | ||
} | } | ||
| 24번째 줄: | 33번째 줄: | ||
})(); | })(); | ||
/* | /* 외부 링크 새 탭 열기 */ | ||
mw.hook('wikipage.content').add(function ($content) { | mw.hook('wikipage.content').add(function($content) { | ||
$content.find('a').each(function () { | $content.find('a.external').not('[href^="#"]').not('.mw-editsection a').each(function() { | ||
var $a = $(this); | var $a = $(this); | ||
if (!$a.attr('target')) { | |||
if (! | $a.attr('target', '_blank').attr('rel', 'noopener noreferrer'); | ||
} | } | ||
}); | }); | ||
}); | }); | ||
2026년 5월 12일 (화) 08:37 판
/* 아카디아 위키 - 사용자 정의 JS */
/* 아카디아 포럼 - 헤더 알약 탭 삽입 */
$(function() {
if ($('.akadia-portal-links').length) return;
var $portal = $('<div class="akadia-portal-links"></div>');
$portal.append('<a href="https://forum.akadia.kr/" class="akadia-portal-link" title="아카디아 포럼">아카디아 포럼</a>');
var $header = $('header.mw-header, .mw-header').first();
if ($header.length) {
$header.append($portal);
} else {
var $userLinks = $('.vector-user-links').first();
if ($userLinks.length) { $userLinks.before($portal); }
else { $('#p-personal').before($portal); }
}
});
/* 모바일 viewport 대응 */
(function() {
var screenW = window.screen && window.screen.width;
if (screenW && screenW <= 720) {
var meta = document.querySelector('meta[name="viewport"]');
var content = 'width=device-width, initial-scale=1, shrink-to-fit=no';
if (meta) {
meta.setAttribute('content', content);
} else {
meta = document.createElement('meta');
meta.setAttribute('name', 'viewport');
meta.setAttribute('content', content);
document.head.appendChild(meta);
}
}
})();
/* 외부 링크 새 탭 열기 */
mw.hook('wikipage.content').add(function($content) {
$content.find('a.external').not('[href^="#"]').not('.mw-editsection a').each(function() {
var $a = $(this);
if (!$a.attr('target')) {
$a.attr('target', '_blank').attr('rel', 'noopener noreferrer');
}
});
});