Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Wikipedia:WikiProject User scripts/Scripts/New message history

From Wikipedia, the free encyclopedia
Purpose
Add a link to your talk page history to the "You have new messages" warning.

;Usage : Include a call to newmessagehistory() in your load page function.

Bugs
Will probably break any function called after it, so it should be called last.

//


/**** WARNING: THIS SCRIPT IS CURRENTLY UNSTABLE AND WILL KILL OTHER FUNCTIONS. ****/
/**** NO WARRANTY IS PROVIDED OR IMPLIED. ***/

// newmessagehistory
addOnloadHook(function () {
    var divs = document.getElementsByTagName('div');
    var talkmessagebox;
    
    for(var x = 0; x < divs.length; ++x)
    {
        if(divs[x].className.indexOf('usermessage') != -1)
        {
            talkmessagebox = divs[x];
            x = divs.length; // force break
        }
    }
    
    var newmessagelink = talkmessagebox.getElementsByTagName('a')[0];
    
    var historylink = document.createElement('a');
    historylink.href = newmessagelink.href.replace(/\/wiki\//, '/w/index.php?title=') + '&action=history';
    historylink.className = 'external text';
    historylink.appendChild(document.createTextNode('changes'));
    
    var talkmessagetext = 'You have ';
    talkmessagebox.innerHTML = talkmessagetext;
    
    talkmessagebox.appendChild(newmessagelink);
    talkmessagebox.appendChild(document.createTextNode(' ('));
    talkmessagebox.appendChild(historylink);
    talkmessagebox.appendChild(document.createTextNode(')'));
});

//