MediaWiki:Common.js: Perbedaan antara revisi
Tampilan
Wikisporta (bicara | kontrib) ←Membuat halaman berisi 'mw.hook('wikipage.content').add(function ($content) { // SECURITY CHECK: Hanya berjalan di HALAMAN UTAMA! // Di artikel lain kode ini OTOMATIS BERHENTI/MATI. if (!mw.config.get('wgIsMainPage')) { return; } // Cari link yang punya teks "Selengkapnya" di Halaman Utama $content.find('a').filter(function () { return $(this).text().indexOf('Selengkapnya') !== -1; }).each(function () { var $link = $(this);...' Tanda: Suntingan perangkat seluler Suntingan peramban seluler |
Wikisporta (bicara | kontrib) Tidak ada ringkasan suntingan Tanda: Suntingan perangkat seluler Suntingan peramban seluler |
||
| Baris 1: | Baris 1: | ||
mw.hook('wikipage.content').add(function ($content) { | mw.hook('wikipage.content').add(function ($content) { | ||
// | // KHUSUS HALAMAN UTAMA | ||
if (!mw.config.get('wgIsMainPage')) { | if (!mw.config.get('wgIsMainPage')) { | ||
return; | return; | ||
} | } | ||
// Cari link yang punya | // Cari link bawaan template yang punya kata "Selengkapnya" | ||
$content.find('a').filter(function () { | $content.find('a').filter(function () { | ||
return $(this).text().indexOf('Selengkapnya') !== -1; | return $(this).text().indexOf('Selengkapnya') !== -1; | ||
}).each(function () { | }).first().each(function () { | ||
var $ | var $originalLink = $(this); | ||
var originalUrl = $originalLink.attr('href'); // Ambil link artikel aslinya | |||
var $container = $originalLink.closest('p, div'); | |||
var $container = $ | |||
if ($container.length && !$container.hasClass('mp-expand-processed')) { | if ($container.length && !$container.hasClass('mp-expand-processed')) { | ||
// | // Terapkan class lipatan pada container teks | ||
$container.addClass('mainpage-featured-box is-collapsed mp-expand-processed'); | $container.addClass('mainpage-featured-box is-collapsed mp-expand-processed'); | ||
$ | |||
// Buat tombol pengganti yang SELALU KELIHATAN di luar lipatan | |||
var $customBtn = $('<a>', { | |||
'class': 'custom-readmore-btn', | |||
'html': '(Selengkapnya.....)', | |||
'href': 'javascript:void(0);' // Mencegah reload sebelum diklik | |||
}); | |||
// Sisipkan tombol buatan tepat di bawah container teks | |||
$container.after($customBtn); | |||
var isExpanded = false; | var isExpanded = false; | ||
// Handle Klik | // Handle Klik | ||
$ | $customBtn.on('click', function (e) { | ||
if (!isExpanded) { | if (!isExpanded) { | ||
e.preventDefault(); | e.preventDefault(); | ||
// KLIK 1: Buka lipatan animasi & hilangkan efek samar | |||
$container.removeClass('is-collapsed').addClass('is-expanded'); | $container.removeClass('is-collapsed').addClass('is-expanded'); | ||
isExpanded = true; | isExpanded = true; | ||
// Ubah link tombol menjadi URL artikel asli untuk klik kedua | |||
// | $customBtn.attr('href', originalUrl); | ||
} | |||
// KLIK 2: Karena href sudah diisi originalUrl, browser otomatis pindah halaman! | |||
}); | }); | ||
} | } | ||
}); | }); | ||
}); | }); | ||
Revisi per 17 Oktober 2026 04.05
mw.hook('wikipage.content').add(function ($content) {
// KHUSUS HALAMAN UTAMA
if (!mw.config.get('wgIsMainPage')) {
return;
}
// Cari link bawaan template yang punya kata "Selengkapnya"
$content.find('a').filter(function () {
return $(this).text().indexOf('Selengkapnya') !== -1;
}).first().each(function () {
var $originalLink = $(this);
var originalUrl = $originalLink.attr('href'); // Ambil link artikel aslinya
var $container = $originalLink.closest('p, div');
if ($container.length && !$container.hasClass('mp-expand-processed')) {
// Terapkan class lipatan pada container teks
$container.addClass('mainpage-featured-box is-collapsed mp-expand-processed');
// Buat tombol pengganti yang SELALU KELIHATAN di luar lipatan
var $customBtn = $('<a>', {
'class': 'custom-readmore-btn',
'html': '(Selengkapnya.....)',
'href': 'javascript:void(0);' // Mencegah reload sebelum diklik
});
// Sisipkan tombol buatan tepat di bawah container teks
$container.after($customBtn);
var isExpanded = false;
// Handle Klik
$customBtn.on('click', function (e) {
if (!isExpanded) {
e.preventDefault();
// KLIK 1: Buka lipatan animasi & hilangkan efek samar
$container.removeClass('is-collapsed').addClass('is-expanded');
isExpanded = true;
// Ubah link tombol menjadi URL artikel asli untuk klik kedua
$customBtn.attr('href', originalUrl);
}
// KLIK 2: Karena href sudah diisi originalUrl, browser otomatis pindah halaman!
});
}
});
});