MediaWiki:DataFetch.js
Jump to navigation
Jump to search
In other languages: Deutsch • Español • Français • Italiano • 日本語 • Polski • Português do Brasil • Русский • ไทย
Note: After saving, 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: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
var shouldBypassCache = window.location.search.substr( 1 ).split( '&' ).indexOf( 'arkdata=no-cache' ) >= 0;
var CACHE_DURATION = shouldBypassCache ? 1 : 60 * 60 * 36;
window.arkLoadDataPages = function( pages, forceRecacheId ) {
var results = {},
scriptPath = mw.config.get( 'wgScriptPath' );
return Promise.all( pages.map( function ( pageName ) {
var isRequestingMain = pageName.startsWith( 'en:' ),
outName = pageName,
query = {
action: 'raw',
ctype: 'application/json',
maxage: CACHE_DURATION,
smaxage: CACHE_DURATION,
};
if ( forceRecacheId ) {
query.cb = forceRecacheId;
}
if ( isRequestingMain ) {
pageName = pageName.slice( 3 );
}
var url = mw.util.getUrl( pageName, query );
if ( isRequestingMain && mw.config.get( 'wgContentLanguage' ) !== 'en' && url.startsWith( scriptPath ) ) {
url = url.slice( scriptPath.length );
}
return fetch( url ).then( function ( response ) {
return response.json().then( function ( data ) {
results[outName] = data;
} );
} );
} ) ).then( function () {
return Promise.resolve( results );
} );
};