From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.

//<source lang="javascript">

 

var cwwpajax;

// From [[WP:US]] mainpage (wpajax renamed to cwwpajax)

cwwpajax={

        download:function(bundle) {

                // mandatory: bundle.url

                // mandatory: bundle.async

                // optional:  bundle.onSuccess (xmlhttprequest, bundle)

                // optional:  bundle.onFailure (xmlhttprequest, bundle)

                // optional:  bundle.otherStuff OK too, passed to onSuccess and onFailure

 

                var x = window.XMLHttpRequest ? new XMLHttpRequest() // Firefox, Safari, Opera, IE7

                : window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") // IE6

                : false;

 

                if (x) {

                        x.onreadystatechange=function() {

                                x.readyState==4 && cwwpajax.downloadComplete(x,bundle);

                        };

                        x.open("GET",bundle.url,bundle.async);

                        x.send(null); 

                }

                return x;

        },

 

        downloadComplete:function(x,bundle) {

                x.status==200 && ( bundle.onSuccess && bundle.onSuccess(x,bundle) || true )

                || ( bundle.onFailure && bundle.onFailure(x,bundle) || alert(x.statusText));

        }

};

 

// Example:

// function dlComplete(xmlreq, data) {

//      alert(data.message + xmlreq.responseText);

// }

//  cwwpajax.download({url:'http://en.wikipedia.org/?title=Thresher&action=raw', 

//                   onSuccess: dlComplete, message: "Here's what we got:\n\n" });

 

// End of [[WP:US]] quote

 

function cwOntoWatchlist(xmlreq, data)

{

  var a=xmlreq.responseText;

  var c=data.catname;

  var i;

  var diag="";

  if(a.indexOf("<categorymembers/>")!=-1) return; //cat is empty, nothing to do here

  if(a.indexOf('title="')==-1) return; // this error happens sometimes, just do nothing here

  var latesttime=0;

  var latestpage="";

  var temp, temp2;

  latestpage=a.split('title="')[1].split('" timestamp=')[0];

  latesttime=a.split('timestamp="')[1].split('"/>')[0];

  a=document.getElementsByTagName("h4"); //get dates in the watchlist

  var monthname=new Array();

  monthname'01'="January";

  monthname'02'="February";

  monthname'03'="March";

  monthname'04'="April";

  monthname'05'="May";

  monthname'06'="June";

  monthname'07'="July";

  monthname'08'="August";

  monthname'09'="September";

  monthname'10'="October";

  monthname'11'="November";

  monthname'12'="December";

  latesttime=new String(latesttime);

 

  var mn1, mn2, mn3, mn4;

 

  // Allow for different date styles:

  // January 29, 2001

  mn1=""+monthnamelatesttime.substr(5,2)]+" "+new Number(latesttime.substr(8,2))+

      ", "+latesttime.substr(0,4);

  // 29 January 2001

  mn2=""+new Number(latesttime.substr(8,2))+" "+monthnamelatesttime.substr(5,2)]+

      " "+latesttime.substr(0,4);

  // 2001 January 29

  mn3=""+latesttime.substr(0,4)+" "+monthnamelatesttime.substr(5,2)]+

      " "+new Number(latesttime.substr(8,2));

  // 2001-01-29

  mn4=""+latesttime.substr(0,4)+"-"+latesttime.substr(5,2)+"-"+latesttime.substr(8,2);

 

  i=a.length;

  while(i--)

  {

    if(ai].innerHTML==mn1||ai].innerHTML==mn2||ai].innerHTML==mn3||ai].innerHTML==mn4)

    {

      diag+=ai].innerHTML+":";

      temp=ai].nextSibling.firstChild;

      if(temp==null) temp=ai].nextSibling.nextSibling.firstChild;

      while(temp!=null)

      {

        diag+=temp.tagname+"!";

        if(temp.tagName!=null)

        if(temp.tagName.toLowerCase()=="li")

        {

          temp2=temp.innerHTML.match(/; ([0-9][0-9]):([0-9][0-9])(:[0-9][0-9])? \. \./);

          temp2=new Number(temp21])*100+new Number(temp22]);

          diag+=temp2+",";

          if(temp2<new Number(latesttime.substr(11,2)+latesttime.substr(14,2))) {temp2=temp; break;}

        }

        temp2=temp; temp=temp.nextSibling;

        if(temp==null) break;

      }

      temp=document.createElement("li");

      if(temp2==null) {return;}

      if(ai].nextSibling.firstChild!=null) // IE-like whitespace handling

        ai].nextSibling.insertBefore(temp,temp2);

      else // Firefox-like whitespace handling

        ai].nextSibling.nextSibling.insertBefore(temp,temp2);

 

      temp.innerHTML="(diff) (hist) . . <a "+

                     "href='http://en.wikipedia.org/wiki/Category:"+

                     encodeURI(c)+

                     "'>Category:"+c+"</a>; "+latesttime.substr(11,2)+":"+latesttime.substr(14,2)+

                     " . . (+ <a "+

                     "href='http://en.wikipedia.org/wiki/"+

                     encodeURI(latestpage)+"'>"+latestpage+"</a> "+

                     "(<a href='http://en.wikipedia.org/?title="+encodeURI(latestpage)+

                     "&diff=last'>last</a>))";

      return;

    }

  }

}

 

var WatchedCategories;

 

//An example of a query to check a category would be

 

//http://en.wikipedia.org/w/api.php?action=query&list=categorymembers&cmcategory=Wikipedia%20protected%20edit%20requests&cmlimit=1&cmprop=title|timestamp&cmsort=timestamp&cmdir=desc&format=xml

$(function(){

  //DHTMLloadscript( 'http://en.wikipedia.org/?title=User:'+wgUserName

  //  +'/WatchedCategories.js&action=raw&ctype=text/javascript');

  if(wgPageName=="Special:Watchlist")

  {

    // load the script using AJAX, because DHTML fails in Firefox and document.write fails in Safari

    var sru='http://en.wikipedia.org/?title=User:'+wgUserName+'/WatchedCategories.js&action=raw&ctype=text/javascript';

    var sr=cwwpajax.download({url:sru,async:false});

    eval(sr.responseText);

    if(WatchedCategories==undefined)

    {

      if(confirm("You don't have a category watchlist yet. Do you want to create one?\n\n"+

                 "(Please provide the following debug information when reporting a problem if "+

                 "this message comes up when you already have a category watchlist: "+

                 (sr.responseText.length<50 ? "responseText='"+sr.responseText+"'" :

                 "responseText.length="+sr.responseText.length)+", statusText='"+sr.statusText

                 +"'.)"))

        location.href='http://en.wikipedia.org/?title=User:'+wgUserName+

        '/WatchedCategories.js&action=edit&preload=User:Ais523/WatchedCategoriesTemplate.js';

    }

    else

    {

      var i;

      for(i=0; i<WatchedCategories.length; i++)

      {

        var a=WatchedCategoriesi];

        cwwpajax.download({url:'http://en.wikipedia.org/w/api.php?action=query&list=categorymembers&'

                           +'cmtitle=Category:'+encodeURI(a)+'&cmlimit=1&cmprop=title'

                           +'|timestamp&cmsort=timestamp&cmdir=desc&format=xml',

                           onSuccess:cwOntoWatchlist,

                           catname:a, async:true});

      }

    }

  }

});

 

//</source>

//<!--[[Category:Wikipedia scripts]]-->
From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.

//<source lang="javascript">

 

var cwwpajax;

// From [[WP:US]] mainpage (wpajax renamed to cwwpajax)

cwwpajax={

        download:function(bundle) {

                // mandatory: bundle.url

                // mandatory: bundle.async

                // optional:  bundle.onSuccess (xmlhttprequest, bundle)

                // optional:  bundle.onFailure (xmlhttprequest, bundle)

                // optional:  bundle.otherStuff OK too, passed to onSuccess and onFailure

 

                var x = window.XMLHttpRequest ? new XMLHttpRequest() // Firefox, Safari, Opera, IE7

                : window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") // IE6

                : false;

 

                if (x) {

                        x.onreadystatechange=function() {

                                x.readyState==4 && cwwpajax.downloadComplete(x,bundle);

                        };

                        x.open("GET",bundle.url,bundle.async);

                        x.send(null); 

                }

                return x;

        },

 

        downloadComplete:function(x,bundle) {

                x.status==200 && ( bundle.onSuccess && bundle.onSuccess(x,bundle) || true )

                || ( bundle.onFailure && bundle.onFailure(x,bundle) || alert(x.statusText));

        }

};

 

// Example:

// function dlComplete(xmlreq, data) {

//      alert(data.message + xmlreq.responseText);

// }

//  cwwpajax.download({url:'http://en.wikipedia.org/?title=Thresher&action=raw', 

//                   onSuccess: dlComplete, message: "Here's what we got:\n\n" });

 

// End of [[WP:US]] quote

 

function cwOntoWatchlist(xmlreq, data)

{

  var a=xmlreq.responseText;

  var c=data.catname;

  var i;

  var diag="";

  if(a.indexOf("<categorymembers/>")!=-1) return; //cat is empty, nothing to do here

  if(a.indexOf('title="')==-1) return; // this error happens sometimes, just do nothing here

  var latesttime=0;

  var latestpage="";

  var temp, temp2;

  latestpage=a.split('title="')[1].split('" timestamp=')[0];

  latesttime=a.split('timestamp="')[1].split('"/>')[0];

  a=document.getElementsByTagName("h4"); //get dates in the watchlist

  var monthname=new Array();

  monthname'01'="January";

  monthname'02'="February";

  monthname'03'="March";

  monthname'04'="April";

  monthname'05'="May";

  monthname'06'="June";

  monthname'07'="July";

  monthname'08'="August";

  monthname'09'="September";

  monthname'10'="October";

  monthname'11'="November";

  monthname'12'="December";

  latesttime=new String(latesttime);

 

  var mn1, mn2, mn3, mn4;

 

  // Allow for different date styles:

  // January 29, 2001

  mn1=""+monthnamelatesttime.substr(5,2)]+" "+new Number(latesttime.substr(8,2))+

      ", "+latesttime.substr(0,4);

  // 29 January 2001

  mn2=""+new Number(latesttime.substr(8,2))+" "+monthnamelatesttime.substr(5,2)]+

      " "+latesttime.substr(0,4);

  // 2001 January 29

  mn3=""+latesttime.substr(0,4)+" "+monthnamelatesttime.substr(5,2)]+

      " "+new Number(latesttime.substr(8,2));

  // 2001-01-29

  mn4=""+latesttime.substr(0,4)+"-"+latesttime.substr(5,2)+"-"+latesttime.substr(8,2);

 

  i=a.length;

  while(i--)

  {

    if(ai].innerHTML==mn1||ai].innerHTML==mn2||ai].innerHTML==mn3||ai].innerHTML==mn4)

    {

      diag+=ai].innerHTML+":";

      temp=ai].nextSibling.firstChild;

      if(temp==null) temp=ai].nextSibling.nextSibling.firstChild;

      while(temp!=null)

      {

        diag+=temp.tagname+"!";

        if(temp.tagName!=null)

        if(temp.tagName.toLowerCase()=="li")

        {

          temp2=temp.innerHTML.match(/; ([0-9][0-9]):([0-9][0-9])(:[0-9][0-9])? \. \./);

          temp2=new Number(temp21])*100+new Number(temp22]);

          diag+=temp2+",";

          if(temp2<new Number(latesttime.substr(11,2)+latesttime.substr(14,2))) {temp2=temp; break;}

        }

        temp2=temp; temp=temp.nextSibling;

        if(temp==null) break;

      }

      temp=document.createElement("li");

      if(temp2==null) {return;}

      if(ai].nextSibling.firstChild!=null) // IE-like whitespace handling

        ai].nextSibling.insertBefore(temp,temp2);

      else // Firefox-like whitespace handling

        ai].nextSibling.nextSibling.insertBefore(temp,temp2);

 

      temp.innerHTML="(diff) (hist) . . <a "+

                     "href='http://en.wikipedia.org/wiki/Category:"+

                     encodeURI(c)+

                     "'>Category:"+c+"</a>; "+latesttime.substr(11,2)+":"+latesttime.substr(14,2)+

                     " . . (+ <a "+

                     "href='http://en.wikipedia.org/wiki/"+

                     encodeURI(latestpage)+"'>"+latestpage+"</a> "+

                     "(<a href='http://en.wikipedia.org/?title="+encodeURI(latestpage)+

                     "&diff=last'>last</a>))";

      return;

    }

  }

}

 

var WatchedCategories;

 

//An example of a query to check a category would be

 

//http://en.wikipedia.org/w/api.php?action=query&list=categorymembers&cmcategory=Wikipedia%20protected%20edit%20requests&cmlimit=1&cmprop=title|timestamp&cmsort=timestamp&cmdir=desc&format=xml

$(function(){

  //DHTMLloadscript( 'http://en.wikipedia.org/?title=User:'+wgUserName

  //  +'/WatchedCategories.js&action=raw&ctype=text/javascript');

  if(wgPageName=="Special:Watchlist")

  {

    // load the script using AJAX, because DHTML fails in Firefox and document.write fails in Safari

    var sru='http://en.wikipedia.org/?title=User:'+wgUserName+'/WatchedCategories.js&action=raw&ctype=text/javascript';

    var sr=cwwpajax.download({url:sru,async:false});

    eval(sr.responseText);

    if(WatchedCategories==undefined)

    {

      if(confirm("You don't have a category watchlist yet. Do you want to create one?\n\n"+

                 "(Please provide the following debug information when reporting a problem if "+

                 "this message comes up when you already have a category watchlist: "+

                 (sr.responseText.length<50 ? "responseText='"+sr.responseText+"'" :

                 "responseText.length="+sr.responseText.length)+", statusText='"+sr.statusText

                 +"'.)"))

        location.href='http://en.wikipedia.org/?title=User:'+wgUserName+

        '/WatchedCategories.js&action=edit&preload=User:Ais523/WatchedCategoriesTemplate.js';

    }

    else

    {

      var i;

      for(i=0; i<WatchedCategories.length; i++)

      {

        var a=WatchedCategoriesi];

        cwwpajax.download({url:'http://en.wikipedia.org/w/api.php?action=query&list=categorymembers&'

                           +'cmtitle=Category:'+encodeURI(a)+'&cmlimit=1&cmprop=title'

                           +'|timestamp&cmsort=timestamp&cmdir=desc&format=xml',

                           onSuccess:cwOntoWatchlist,

                           catname:a, async:true});

      }

    }

  }

});

 

//</source>

//<!--[[Category:Wikipedia scripts]]-->

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook