User:Stïnger/ajax-prev.js
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.
/* Avanced preview */
//Extracted by Ks-M9
//For the original author, see [[en:user:Js/ajaxPreview]]
//English= allows a preview quickly
//Spanish= Permite una previsualización rápida
window.ajaxPreviewMsg = {
emptydiff: 'No changes',
difftip: 'shift-click the button to show changes compared to this old version',
diff2old: 'comparison to old version',
viewtip: 'shift-click the button to update interwiki and categories as well\
(<a href="//en.wikipedia.org/wiki/User:Js/ajaxPreview#Preview" target=_blank>more</a>)'
};
function ajaxPreviewButtons(){
var ajaxPreviewPos = window.ajaxPreviewPos || 'right'
if( !document.getElementById('wpSave') ){
return;
}
mw.loader.load( '//en.wikipedia.org/w/index.php?title=User:Js/preview2.js&action=raw&ctype=text/javascript' );
if( ajaxPreviewPos != 'bottom' ){
var previewToolbar = $('<div style="float:'+ajaxPreviewPos+'" />')
if ( mw.user.options.get('usebetatoolbar') ) {
$('#wikiPreview').after('<div style="width:100%; clear:both" />', previewToolbar)
} else {
var el = $('#toolbar')
if( el.length ) el.prepend(previewToolbar)
else $('#editform').before(previewToolbar)
}
}
addBtn(window.ajaxPreviewButton, 'wpPreview', window.ajaxPreviewKey || 'p')
if( mw.config.get( 'wgArticleId' ) )
addBtn(window.ajaxDiffButton, 'wpDiff', window.ajaxDiffKey || 'v')
function addBtn(name, id, akey){
var $btnOld = $(document.getElementById(id))
if( $btnOld.length === 0 ) return
var $btn = $('<input type="button" />')
.attr('id', id + 'Live')
.attr( 'title', $btnOld.val() + ' (ajax)');
if( ajaxPreviewPos == 'bottom' ){
$btn.val( $btnOld.val() ).insertBefore( $btnOld.val('>') )
}else{
if( !name ){ //extract last word from standard buttons
var name = $btnOld.val(); var i = name.lastIndexOf(' ') + 1
name = name.substring(i, i+1).toUpperCase() + name.substring(i+1)
}
$btn.val(name).css({height:'22px', padding:'0 1px'}).appendTo(previewToolbar)
}
if( akey ){ //reassign acces key
if( $btnOld.attr('accesskey') == akey )
$btnOld.removeAttr('accesskey').updateTooltipAccessKeys()
$btn.attr('accesskey', akey).updateTooltipAccessKeys()
}
}
}
if( $.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1 && mw.config.get('wgCanonicalNamespace') !== 'Special' ){
mw.loader.using( ['mediawiki.util', 'user.options', 'jquery.textSelection'], function () {
$(ajaxPreviewButtons);
} );
}