User:Sander Säde/quickpreview.js
From OpenWetWare
Jump to navigationJump to search
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
importScript('User:TheFearow/qstring.js'); addOnloadHook(doAddQuickPreview); function doAddQuickPreview() { if ((wgAction != "edit") && (wgAction != "submit")) return; var qbutton = document.getElementById("wpPreview").cloneNode(false); qbutton.value = "Quick preview"; qbutton.type="button"; qbutton.tabindex="6"; qbutton.accessKey="g"; qbutton.id="dlQuickPreview"; qbutton.title="Preview your changes"; qbutton.addEventListener("click", doQuickPreview, false); document.getElementById("wpPreview").parentNode.insertBefore(qbutton,document.getElementById("wpDiff")); } function doQuickPreview() { var bt = document.getElementById("dlQuickPreview"); document.getElementById("contentSub").innerHTML = "Getting preview"; bt.value="Getting preview"; bt.disabled=true; var form = document.editform; var postData = { 'wpMinoredit': form.wpMinoredit.checked, 'wpWatchthis': form.wpWatchthis.checked, 'wpStarttime': form.wpStarttime.value, 'wpEdittime': form.wpEdittime.value, 'wpAutoSummary': form.wpAutoSummary.value, 'wpEditToken': form.wpEditToken.value, 'wpSummary': "Quick preview", 'wpTextbox1': document.editform.wpTextbox1.value }; var addr = document.URL; addr = addr.replace("&action=edit", "&action=submit"); addr += "&wpPreview=true&live=true"; var qwxmlhttp = sajax_init_object(null); qwxmlhttp.overrideMimeType('text/xml'); qwxmlhttp.open( 'POST' , addr, true); qwxmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded'); qwxmlhttp.onload = function() { document.getElementById("wikiPreview").innerHTML = unescape(qwxmlhttp.responseText.replace(/>/g,">").replace(/</g,"<").replace(/&/g,"&").replace(/"/g,'"')); bt.disabled=false; bt.value = "Quick preview"; document.getElementById("contentSub").innerHTML = ""; } qwxmlhttp.send(QueryString.create(postData)); }