Увага: Після публікування слід очистити кеш браузера, щоб побачити зміни.

  • Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
  • Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
  • Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5.
// var npp_http; var npp_enabled; var npp_num_pages; var npp_refresh; var npp_num_idle_req; var npp_curr_idle_req;  var npp_str_no_ajax = "Виникли проблеми зі скриптом NewPagePatrol. Ваш веб-оглядач не підтримується."; var npp_str_box_title = "Нові сторінки"; var npp_str_box_title_updating = "Нові сторінки (оновлення)"; var npp_str_box_title_failed = "Нові сторінки (оновлення не вдалося)"; var npp_str_enable = "Увімкнути"; var npp_str_disable = "Вимкнути";  $( document ).ready(function() { 	if (!(mw.config.get( 'wgCanonicalSpecialPageName' ) && mw.config.get( 'wgCanonicalSpecialPageName' ).match( /^ContentTranslation/ ) !== null)) 		npp_init(); });    /* initalise */ function npp_init() {     // allow user settings through   if (npp_enabled == null) {     npp_enabled = false;   }   if (npp_num_pages == null) {     npp_num_pages = 10;   }   if (npp_refresh == null) {     npp_refresh = 30;   }   if (npp_num_idle_req == null) {     npp_num_idle_req = 60;   }    // A few limits to be nice to the servers   if (npp_num_pages > 50) {     npp_num_pages = 50;   }   if (npp_num_pages < 1) {     npp_num_pages = 1;   }   if (npp_refresh < 2) {     npp_refresh = 2;   }   if (npp_num_idle_req > 1000) {     npp_num_idle_req = 1000;   }   if (npp_num_idle_req < 5) {     npp_num_idle_req = 5;   }    // get our cookie   if (document.cookie.length > 0) {     var c_start = document.cookie.indexOf("npp_show_box=");     if (c_start != -1) {        c_start = c_start + 13;        var c_end = document.cookie.indexOf(";", c_start);       if (c_end == -1) {         c_end = document.cookie.length;       }         if (document.cookie.substring(c_start, c_end) == "yes") {         npp_enabled = true;       } else {         npp_enabled = false;       }     }    }     // Either make a request or show nothing   npp_curr_idle_req = 0;   if (npp_enabled == true) {     npp_ajax_request();   } else {     npp_draw_disabled_box();   } }   /* init ajax */ function npp_create_request() {   try {     npp_http = new XMLHttpRequest();     } catch (e) {     try {       npp_http = new ActiveXObject("Msxml2.XMLHTTP");     } catch (e) {       try {         npp_http = new ActiveXObject("Microsoft.XMLHTTP");       } catch (e) {         return false;       }     }   }     npp_http.onreadystatechange = function() {     if(npp_http.readyState == 4) npp_ajax_response();   }     return true; }   /* make a request */ function npp_ajax_request() {   // if we have done too many requests, disable the box   npp_curr_idle_req++;   if (npp_curr_idle_req > npp_num_idle_req) {     npp_disable_box();   }    // check we are enabled   if (npp_enabled == false) return;    // firstly, inform the user   var cur_box = document.getElementById('p-newpages');   if (cur_box != null) {     cur_box.firstChild.firstChild.data = npp_str_box_title_updating;   }     if (npp_create_request () == false) {     if (cur_box != null) {       cur_box.firstChild.firstChild.data = npp_str_box_title_failed;     } else {       alert (npp_str_no_ajax);     }   }      // Get the current time   var dateobj = new Date();   var now = Math.floor(dateobj.getTime() / 1000.0);    // Go back 30 seconds in time   now -= (30);    // Then make the request   npp_http.open("GET", "/w/api.php?action=query&format=xml&list=recentchanges&rcshow=!bot|!redirect&rctype=new&rcnamespace=0&rcprop=title|timestamp|ids&rcstart=" + now + "&rclimit=" + npp_num_pages, true);   npp_http.send(null); }  function npp_draw_disabled_box() {   if (mw.config.get('skin') == 'vector') {     npp_draw_disabled_box_vector();   } else {     npp_draw_disabled_box_monobook();   } }  function npp_ajax_response() {   if (mw.config.get('skin') == 'vector') {     npp_ajax_response_vector();   } else {     npp_ajax_response_monobook();   }    // and do it again in 5 secs   setTimeout("npp_ajax_request()", npp_refresh * 1000); }  function npp_disable_box() {   npp_enabled = false;   npp_draw_disabled_box();   document.cookie = "npp_show_box=no; path=/"; }   function npp_enable_box() {   npp_enabled = true;   npp_curr_idle_req = 0;   document.cookie = "npp_show_box=yes; path=/";   npp_ajax_request(); }   /* Draw disabled (monobook) */ function npp_draw_disabled_box_monobook() {   // Container div   var link_div = document.createElement('div');   link_div.className = 'pBody';   var div = document.createElement('div');   div.setAttribute('id', 'p-newpages');   div.className = 'portlet';   var heading = document.createElement('h5');   heading.appendChild(document.createTextNode(npp_str_box_title));   div.appendChild(heading);   div.appendChild(link_div);     // enable link   var p = document.createElement('p');   p.style.fontSize = 'x-small';   p.style.margin = '0px';   var a = document.createElement('a');   a.appendChild(document.createTextNode(npp_str_enable));   a.onclick = npp_enable_box;   p.appendChild(a);   link_div.appendChild(p);     // now replace the div   var old_div = document.getElementById('p-newpages');   var side_col = document.getElementById('column-one');   if (old_div != null) {     side_col.replaceChild(div, old_div);   } else {     var node = document.getElementById('p-tb');     side_col.insertBefore(div, node);   } }  /* Draw response (monobook) */ function npp_ajax_response_monobook() {     var items = npp_http.responseXML.getElementsByTagName('rc');     // create the div that holds all the newpage links   var link_div = document.createElement('div');   link_div.className = 'pBody';   var list = document.createElement('ul');   link_div.appendChild(list);     // populate the list with 10 links.   var item_names = [];   for (var i = 0; i < items.length; i++)      item_names.push(items[i].getAttribute('title'));   var req = new mw.Api();   req.get({action:'query', prop:'flagged', titles:item_names.join('|')}, {async:false})    .done(function(data){window.nppPages = data.query.pages}).fail(function(err){window.nppPages = {}});     for (var i = 0; i < items.length; i++) {     var item_name = items[i].getAttribute('title');     var rcid = items[i].getAttribute('rcid');     var page = getPage(i);     var patrolled = page ? ((page.flagged) && !(page.flagged.pending_since)) : true;       item_name = item_name.replace(/&/, "%26");     var item_url = '//uk.wikivoyage.org/w/index.php?title=' + item_name + '&rcid=' + rcid + '&redirect=no';       a = document.createElement('a');     a.setAttribute('href', item_url);     a.appendChild(document.createTextNode(item_name));      var aa = document.createElement('nobr');        aa.appendChild(a);        var li = document.createElement('li');     li.appendChild(aa);     if (!patrolled) {         li.setAttribute('class', 'not-patrolled');     }     list.appendChild(li);   }     function getPage(index){if (window.nppPages) return window.nppPages[items[index].getAttribute('pageid')]};    // Container div   var div = document.createElement('div');   div.setAttribute('id', 'p-newpages');   div.className = 'portlet';   var heading = document.createElement('h5');   heading.appendChild(document.createTextNode(npp_str_box_title));   div.appendChild(heading);   div.appendChild(link_div);     // disable link   var p = document.createElement('p');   p.style.fontSize = 'x-small';   p.style.margin = '0px';   p.style.textAlign = 'right';   a = document.createElement('a');   a.appendChild(document.createTextNode(npp_str_disable));   a.onclick = npp_disable_box;   p.appendChild(a);   link_div.insertBefore(p, list);     // now replace the div   var old_div = document.getElementById('p-newpages');   var side_col = document.getElementById('column-one');   if (old_div != null) {     side_col.replaceChild(div, old_div);   } else {     var node = document.getElementById('p-tb');     side_col.insertBefore(div, node);   } }   /* Draw disabled box (vector skin) */ function npp_draw_disabled_box_vector() {   // Container div   var link_div = document.createElement('div');   link_div.className = 'body';   link_div.style.display = "block";   var div = document.createElement('div');   div.setAttribute('id', 'p-newpages');   div.className = 'portal collapsed';   var heading = document.createElement('h3');   heading.appendChild(document.createTextNode(npp_str_box_title));   div.appendChild(heading);   div.appendChild(link_div);     // enable link   var p = document.createElement('p');   p.style.fontSize = 'x-small';   p.style.margin = '0px';   var a = document.createElement('a');   a.appendChild(document.createTextNode(npp_str_enable));   a.onclick = npp_enable_box;   p.appendChild(a);   // add later     // now replace the div   var old_div = document.getElementById('p-newpages');   var side_col = document.getElementById('mw-panel');   if (old_div != null) {     side_col.replaceChild(div, old_div);   } else {     var node = document.getElementById('p-interaction');     side_col.insertBefore(div, node);   }    if( typeof $ != 'undefined') {     $('#p-newpages > h3').keydown( function( event ) {       if ( event.which == 13 /* Enter */ || event.which == 32 /* Space */ ) {         npp_toggle( $(this) );       }     } )     .mousedown( function() {       npp_toggle( $(this) );       $(this).blur();         return false;     } );   } else {    link_div.appendChild(p);   } }  /* Draw response (vector skin) */ function npp_ajax_response_vector() {     var items = npp_http.responseXML.getElementsByTagName('rc');     // create the div that holds all the newpage links   var link_div = document.createElement('div');   link_div.className = 'body';   link_div.style.display = "block";   var list = document.createElement('ul');   link_div.appendChild(list);     // populate the list with 10 links.   var item_names = [];   for (var i = 0; i < items.length; i++)      item_names.push(items[i].getAttribute('title'));   var req = new mw.Api();   req.get({action:'query', prop:'flagged', titles:item_names.join('|')}, {async:false})    .done(function(data){window.nppPages = data.query.pages}).fail(function(err){window.nppPages = {}});     for (var i = 0; i < items.length; i++) {     var item_name = items[i].getAttribute('title');     var rcid = items[i].getAttribute('rcid');     var page = getPage(i);     var patrolled = page ? ((page.flagged) && !(page.flagged.pending_since)) : true;       item_name = item_name.replace(/&/, "%26");     var item_url = '//uk.wikivoyage.org/w/index.php?title=' + item_name + '&rcid=' + rcid + '&redirect=no';       a = document.createElement('a');     a.setAttribute('href', item_url);     //a.style.fontSize = 'x-small';     a.appendChild(document.createTextNode(item_name));       var li = document.createElement('li');     li.appendChild(a);         list.appendChild(li);   }   function getPage(index){if (window.nppPages) return window.nppPages[items[index].getAttribute('pageid')]};     // Container div   var div = document.createElement('div');   div.setAttribute('id', 'p-newpages');   div.className = 'portal expanded';   var heading = document.createElement('h3');   heading.appendChild(document.createTextNode(npp_str_box_title));   div.appendChild(heading);   div.appendChild(link_div);    // disable link   var p = document.createElement('p');   p.style.fontSize = 'x-small';   p.style.margin = '0px';   p.style.textAlign = 'left';   a = document.createElement('a');   a.appendChild(document.createTextNode(npp_str_disable));   a.onclick = npp_disable_box;   p.appendChild(a);   // add later    // now replace the div   var old_div = document.getElementById('p-newpages');   var side_col = document.getElementById('mw-panel');   if (old_div != null) {     side_col.replaceChild(div, old_div);   } else {     var node = document.getElementById('p-interaction');     side_col.insertBefore(div, node);   }    if( typeof $ != 'undefined') {     $('#p-newpages > h3').keydown( function( event ) {       if ( event.which == 13 /* Enter */ || event.which == 32 /* Space */ ) {         npp_toggle( $(this) );       }     } )     .mousedown( function() {       npp_toggle( $(this) );       $(this).blur();         return false;     } );   } else {    link_div.appendChild(p);   } }  function npp_toggle( $element ) {  $.cookie( 'vector-nav-' + $element.parent().attr( 'id' ), $element.parent().is( '.collapsed' ) );  if( $element.parent().is('.collapsed') ) {   npp_enable_box();  } else {   npp_disable_box();  }  $element   .parent()   .toggleClass( 'expanded' )   .toggleClass( 'collapsed' )   .find( 'div.body' )   .slideToggle( 'fast' ); }