미디어위키:Common.js: 두 판 사이의 차이
(아카디아 포털 알약 탭 헤더 삽입 JS 추가) |
(본문 하이퍼링크를 새 탭에서 열기 (mw.hook wikipage.content)) |
||
| 1번째 줄: | 1번째 줄: | ||
/* 아카디아 포털 — 우측 상단 알약 탭 삽입 */ | /* 아카디아 포털 — 우측 상단 알약 탭 삽입 */ | ||
$(function() { | $(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 $target = $('.vector-user-links').first(); | |||
if ($target.length) { $target.before($portal); } else { $('#p-personal').before($portal); } | |||
}); | |||
/* 본문 하이퍼링크를 새 탭에서 열기 */ | |||
mw.hook('wikipage.content').add(function ($content) { | |||
$content.find('a').each(function () { | |||
var $a = $(this); | |||
var href = $a.attr('href'); | |||
if (!href) return; | |||
// 섹션 앵커(#section)는 새 탭으로 열지 않음 | |||
if (href.charAt(0) === '#') return; | |||
// 섹션 편집(== 편집 ==) 링크는 새 탭으로 열지 않음 | |||
if ($a.closest('.mw-editsection').length) return; | |||
$a.attr('target', '_blank'); | |||
var rel = $a.attr('rel') || ''; | |||
if (rel.indexOf('noopener') === -1) { | |||
$a.attr('rel', (rel + ' noopener noreferrer').trim()); | |||
} | |||
}); | |||
}); | }); | ||
2026년 5월 8일 (금) 07:05 판
/* 아카디아 포털 — 우측 상단 알약 탭 삽입 */
$(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 $target = $('.vector-user-links').first();
if ($target.length) { $target.before($portal); } else { $('#p-personal').before($portal); }
});
/* 본문 하이퍼링크를 새 탭에서 열기 */
mw.hook('wikipage.content').add(function ($content) {
$content.find('a').each(function () {
var $a = $(this);
var href = $a.attr('href');
if (!href) return;
// 섹션 앵커(#section)는 새 탭으로 열지 않음
if (href.charAt(0) === '#') return;
// 섹션 편집(== 편집 ==) 링크는 새 탭으로 열지 않음
if ($a.closest('.mw-editsection').length) return;
$a.attr('target', '_blank');
var rel = $a.attr('rel') || '';
if (rel.indexOf('noopener') === -1) {
$a.attr('rel', (rel + ' noopener noreferrer').trim());
}
});
});