MediaWiki:Gadget-PerubahanLangsung.js
Penampilan
Catatan: Selepas diterbitkan, anda mungkin perlu memintas cache pelayar web untuk melihat perubahan.
- Firefox / Safari: Tahan Shift sambil klik Reload, atau tekan sama ada Ctrl-F5 atau Ctrl-R (⌘-R pada Mac)
- Google Chrome: Tekan Ctrl-Shift-R (⌘-Shift-R pada Mac)
- Edge: Tahan Ctrl sambil tekan Refresh, atau tekan Ctrl-F5.
/** PerubahanLangsung.js
* Penulis: [[Pengguna:Kurniasan]]
* CHANGELOG:
* 26/2/2012
* - Ubah sela dari 500ms ke 1s untuk jimatkan penggunaan CPU.
* - Kecilkan skop penggantian kandungan, cari "ul.special", dulunya "#mw-content-text".
* - Hentikan sementara interval apabila pautan dihover.
* 10/4/2013
* - Bunuh pepijat untuk kecacatan bagi bilangan h4 > 1.
* - Biarkan sela dipegang oleh pembolehubah supaya pengguna boleh menggunakan sela sendiri.
*/
if (mw.config.get('wgPageName') == "Khas:Perubahan_terkini") {
if (window.selaUbahLangsung === undefined) {
window.selaUbahLangsung = 2000; //2 saat.
}
var hentiMasaHover = function() {
$('ul.special li a').hover(function() {
clearInterval(window.idSela);
}, function() {
window.idSela = setInterval(ubahLangsung, window.selaUbahLangsung);
});
};
var ubahLangsung = function() {
$.get(window.location.href, function(data) {
data = data.replace(/<!D[\w\s]+>/,"");
data = $(data).find('#bodyContent').html();
if ($(data).find('ul.special:first li:first').text() != $('ul.special:first li:first').text()) {
var nUL1 = $('ul.special');
var nUL2 = $(data).find('ul.special');
if (nUL1.length < nUL2.length) {
$('h4:first').before($(data).find('h4:first'));
$('h4:first').before($(data).find('ul.special:first'));
} else if (nUL1.length > nUL2.length) {
$('ul.special:last').prev().remove();
$('ul.special:last').remove();
} else {
$(data).find('ul.special:first li:first').css('opacity', 0);
$('ul.special:first').html($(data).find('ul.special:first').html());
$('ul.special:first li:first').css("background","yellow")
.animate({opacity:1}, 500, function() {
$(this).css("background","");
});
}
var m = window.location.href.match(/.*&limit=(\d+)/);
var limit = m === null ? 50 : (1*m[1]);
while($('ul.special li').length > limit) {
$('ul.special:last li:last').remove();
}
hentiMasaHover();
}
});
};
window.idSela = setInterval(ubahLangsung, window.selaUbahLangsung);
hentiMasaHover();
}