מדיה ויקי:סקריפטים/93.js
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
- אופרה: ללחוץ על Ctrl-F5.
mw.loader.using( ['mediawiki.util' ] ).then( function() {
function showPage() {
var page = window.click_and_read[ $( this ).text() ];
if ( page )
mw.loader.using( ['mediawiki.api'] ).then( function() {
new mw.Api( { ajax: { cache: false } } ).get( {
action: 'parse',
page: page,
smaxage: 0,
disableeditsection: true
} ).done( function( data ) {
if ( data && data.parse && data.parse.text && data.parse.text['*'] )
showContent( page, data.parse.text['*'] );
} ); // parse returned
} ); // using api returned
} // showpage.sho
function showRaw() {
var page = window.click_and_raw[ $( this ).text() ];
if ( page )
$.ajax( {
url: mw.util.wikiScript(),
data: { action: 'raw', title: page },
dataType: 'text'
} ).done( function( data ) {
showContent( page, data, true );
} );
}
function showContent( title, content, raw ) {
mw.loader.using( [ 'jquery.ui', 'mediawiki.api' ] ).then( function() {
var dialog,
api = new mw.Api(),
inside = raw
? $( '<textarea>' )
.attr( { raws: 25, resize: true } )
.val( content )
.css( { 'width': $('body').width() * 0.6, 'height' : $('body').height() * 0.8, overflow: 'auto' } )
: $( '<div>' )
.css( { 'max-width': $('body').width() * 0.6, 'max-height' : $('body').height() * 0.8, overflow: 'auto' } )
.append( content ),
buttons = [ {text: 'Save', click: doSave } ];
function doSave() {
api.postWithEditToken( { action: 'edit', title: title, text: inside.val() } );
dialog.dialog( 'close' );
}
dialog = $( '<div>' )
.dialog( {
title: title,
width: 'auto',
height: 'auto',
position: [$('body').width() * 0.2, $('body').height() * 0.1],
buttons: raw ? buttons : null
} )
.append( inside );
} ); // using dialog returned
}
for ( var t in window.click_and_read )
$( mw.util.addPortletLink( 'p-cactions', '#', t ) )
.click( showPage );
for ( t in window.click_and_raw )
$( mw.util.addPortletLink( 'p-cactions', '#', t ) )
.click( showRaw );
} );