| ajaxPreview | |
|---|---|
| Browsers | * |
| Skins | * |
| Code | ajaxPreview.js |
| Updated | December 14, 2024; 9 months ago (2024-12-14) |
| Developer | AlexSm |
The script addspreview andchangesAjax buttons which are:
Preview button updatescontent andedit summary previews and then executes globalcollapsing scripts.
Shift-clicking the button will update the previews of interwikis, categories and templates as well.
You still need regular non-Ajax preview if you insert<syntaxhighlight lang="xxx"> or<categorytree>.
Add this toyour common.js (or to yourskin js page)
importScript('User:Js/ajaxPreview.js');// [[user:js/ajaxPreview]]
By default the new buttons do this:
This can be changed with the following parameters added to the same JS file as above.
Position:
varajaxPreviewPos='left';//buttons on the left
varajaxPreviewPos='bottom';//buttons on the bottom, replacing standard
The "old" standard buttons are then moved to the right and marked with ">":Save pageShow preview>Show changes>
Accesskeys:
varajaxPreviewKey='o';//"preview" button accesskeyvarajaxDiffKey='b';//"changes" button accesskey
Use empty string'' to disable accesskey.
Button text:
varajaxPreviewButton='Ω';//"preview" button textvarajaxDiffButton='Δ';//"changes" button text
Scrolling:
varajaxPreviewScrollTop=true;//scroll to the top of preview/changes area after each update
Full update:
varajaxPreviewFull=true;//always update interwikis, categories and templates as well
You can make the script call any custom userscripts by defining the globalajaxPreviewExec() function. For example, if you useNavPopups and want popups to appear in the Ajax-updated preview, use the following code:
// code to execute after each preview updatewindow.ajaxPreviewExec=function(previewArea){if(window.setupTooltips){setupTooltips(previewArea);previewArea.ranSetupTooltipsAlready=false;}}
And if you want tables to be sortable and collapsible elements to work as usual in the Ajax-updated preview, use the following code:
// code to execute after each preview updatewindow.ajaxPreviewExec=function(previewArea){mw.loader.using(['jquery.tablesorter','jquery.makeCollapsible'],function(){$('table.sortable').tablesorter();$('#wikiPreview .collapsible').makeCollapsible();});}