Benutzer:FNDE/secWatch/view.js
Erscheinungsbild
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
// #################################################
// ### secWatch v0.2-beta ##########################
// ### Author: de.wikipedia.org/wiki/User:FNDE #####
// ### Date: 25.01.2017 ############################
// ### <nowiki> ####################################
// #################################################
( function ( mw, $ ) {
"use strict";
function request(mode,user) {
$.ajax({
type: 'GET',
cache: false,
dataType: 'json',
data: {user:user, history:"14"},
url: "https://request.toolforge.org/FNBot/get_dev.php",
error: function (jqXHR, textStatus, errorThrown) {
startInterval(2, user, defaultInterval);
},
success: function (msg) {
$.ajax({
type: 'POST',
cache: false,
dataType: 'json',
data: {action:"parse", text:msg.content, format:'json',
prop:'text', contentmodel:'wikitext', disablelimitreport:1},
url: "https://de.wikipedia.org/w/api.php",
error: function (jqXHR, textStatus, errorThrown) {
startInterval(2, user, defaultInterval);
},
success: function (msg_output) {
last_update = false;
update_interval = startInterval(2, user, defaultInterval);
if(mode==1) {
$(container).hide().html(msg_output.parse.text['*']).slideToggle();
}
else {
$(container).promise().done(function(){
$(this).html(msg_output.parse.text['*']);
$(this).fadeTo(250, 1);
});
}
}
});
}
});
}
function updateSecWatch(mode, user) {
if(hidden_window===false) {
if(mode!=1) {
$(container).fadeTo(250, 0.5);
}
request(mode, user);
}
else {
last_update = true;
clearTimeout(update_interval);
}
}
function startInterval(mode, user, interval) {
return setTimeout(function(){ updateSecWatch(mode, user); }, interval);
}
function ini() {
$('<style>#secWatch_content ul{margin-top:-5px;margin-bottom:10px;}</style>').insertBefore(container);
updateSecWatch(1, get_user_name);
$(window).focus(function(){
hidden_window = false;
if(last_update===true) {
updateSecWatch(2, get_user_name);
}
});
$(window).blur(function(){
hidden_window = true;
});
}
var container = '#secWatch_content';
if($(container).length) {
var last_update = false;
var hidden_window = false;
var update_interval = false;
var get_user_name = false;
var defaultInterval = 60000;
mw.loader.using( ['mediawiki.user'], function () {
get_user_name = mw.user.getName();
ini();
});
}
}( window.mediaWiki, window.jQuery ) ); // </nowiki>