Difference between revisions of "User:Shijun/monobook.js"

From NetHackWiki
Jump to navigation Jump to search
m
m (Text replace - "nethack.wikia.com" to "nethackwiki.com")
 
(5 intermediate revisions by one other user not shown)
Line 1: Line 1:
// <pre>
+
// from http://en.wikipedia.org/wiki/MediaWiki:Common.js
 
+
importedScripts = {}; // object keeping track of included scripts, so a script ain't included twice
var qPreviewKey = '`';
+
function importScript( base, page )
var qPreviewName = 'QPreview';
+
{
 
+
    if( importedScripts[page] ) {
function qPreviewButton(){
+
        return;
addToolbarButton(qPreviewName, qPreview, 'btnQPreview', 'Quick Preview', qPreviewKey);
+
    }
}
+
    importedScripts[page] = true;
addOnloadHook(qPreviewButton);
+
    var url = base
 
+
            + '/index.php?title='
function qPreview(){
+
            + encodeURIComponent( page.replace( / /g, '_' ) )
var divPreview = document.getElementById('wikiPreview');
+
            + '&action=raw&ctype=text/javascript&dontcountme=s';
if (!divPreview) return;
+
    var scriptElem = document.createElement( 'script' );
var btnQPreview = document.getElementById('btnQPreview');
+
    scriptElem.setAttribute( 'src' , url );
if (btnQPreview) btnQPreview.value = 'Wait...';
+
    scriptElem.setAttribute( 'type' , 'text/javascript' );
a = sajax_init_object();
+
    document.getElementsByTagName( 'head' )[0].appendChild( scriptElem );
a.open('POST', document.editform.action+'&live', true);
 
var Boundary = '--------p1415';
 
a.setRequestHeader('Content-Type', 'multipart/form-data; boundary='+Boundary);
 
var PostData = '--' + Boundary
 
  + '\nContent-Disposition: form-data; name="wpTextbox1"\n\n'
 
  + document.getElementById('wpTextbox1').value + '\n--'+Boundary;
 
if (a.overrideMimeType) a.overrideMimeType('text/html');
 
a.send(PostData);
 
a.onreadystatechange = function(){
 
  if (a.readyState != 4) return;
 
var html = a.responseText;
 
html = html.replace(/&gt;/g,'>').replace(/&lt;/g,'<').replace(/&quot;/g,'"').replace(/&amp;/g,'&').replace(/&apos;/g,"'");
 
divPreview.innerHTML = html;
 
if (btnQPreview)  btnQPreview.value =  qPreviewName;
 
};
 
}
 
 
 
//Adds a text button to edit toolbar
 
function addToolbarButton(name, onclick, id, tooltip, accesskey){
 
var toolbar = document.getElementById('toolbar');
 
if (!toolbar) return;
 
var newBtn = document.createElement('input');
 
newBtn.type = 'button';
 
newBtn.style.background = '#adbede';
 
newBtn.style.height = '22px';
 
newBtn.style.verticalAlign = 'middle';
 
if (name) newBtn.value = name;
 
if (onclick) newBtn.onclick = onclick;
 
if (id) newBtn.id = id;
 
if (tooltip) newBtn.title = tooltip;
 
if (accesskey) newBtn.accessKey = accesskey;
 
toolbar.appendChild(newBtn);
 
return newBtn;
 
 
}
 
}
  
// </pre>
+
//importScript('http://nethackwiki.com', 'User:Shijun/ajax.js');
 +
importScript('http://nethackwiki.com', 'User:Shijun/qpreview.js');

Latest revision as of 19:39, 11 November 2010

// from http://en.wikipedia.org/wiki/MediaWiki:Common.js
importedScripts = {}; // object keeping track of included scripts, so a script ain't included twice
function importScript( base, page )
{
    if( importedScripts[page] ) {
        return;
    }
    importedScripts[page] = true;
    var url = base
            + '/index.php?title='
            + encodeURIComponent( page.replace( / /g, '_' ) )
            + '&action=raw&ctype=text/javascript&dontcountme=s';
    var scriptElem = document.createElement( 'script' );
    scriptElem.setAttribute( 'src' , url );
    scriptElem.setAttribute( 'type' , 'text/javascript' );
    document.getElementsByTagName( 'head' )[0].appendChild( scriptElem );
}

//importScript('http://nethackwiki.com', 'User:Shijun/ajax.js');
importScript('http://nethackwiki.com', 'User:Shijun/qpreview.js');