מדיה ויקי:סקריפטים/101.js
קפיצה לניווט
קפיצה לחיפוש
הערה: לאחר השמירה, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload), או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אינטרנט אקספלורר: להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh), או ללחוץ על צירוף המקשים Ctrl-F5.
- אופרה: לפתוח תפריט ← הגדרות (במחשב מק: Opera ← העדפות) ואז ללחוץ על פרטיות ואבטחה ← מחק היסטוריית גלישה ← Cached images and files.
mw.loader.using(['mediawiki.util', 'mediawiki.api']) .then(function() { var count, wait; var step = 1; var depth = 5; var api = new mw.Api(); function collectSubCategories(cat) { console.log('cat: ' + cat); return $.getJSON('https://petscan.wmflabs.org', { language: 'he', project: 'wikipedia', depth: depth - 1, categories: cat.substring(cat.indexOf(':') + 1), 'ns[14]': 1, interface_language: 'en', active_tab: 'tab_output', doit: '', format: 'json' }) .done(function(d) { purge([cat].concat(d['*'][0].a['*'].map(function(q) { return "קטגוריה:" + q.title; })) .reverse()); }) .fail(function() { alert("כישלון באיסוף תת קטגוריות"); purge([cat]); }); } function purge(cats) { if (cats.length <= 0) { alert("הרענון הושלם בהצלחה!"); document.location.reload(); } else postPurge(cats[0], cats); } function postPurge(cat, cats, addParams) { console.log('catnext: ' + cat); var apiParams = $.extend({ action: 'purge', generator: 'categorymembers', 'gcmtitle': cat, 'gcmlimit': step, forcelinkupdate: 1 }, addParams); api.post(apiParams) .done(function(d) { console.log(d); count += step; if (d.warnings === undefined && d["continue"] !== undefined && d["continue"].gcmcontinue) { mw.notify(count + " דפים רועננו"); setTimeout(function() { postPurge(cat, cats, d["continue"]); }, wait); } else { alert("הרענון הושלם בהצלחה! (" + cat.replace(/_/g, " ") + ")"); cats.shift(); purge(cats); } }) .fail(function() { alert("כישלון"); }); } if (mw.config.get('wgNamespaceNumber') == 14) { wait = 1000; api.get({ meta: 'userinfo', uiprop: 'ratelimits' }) .done(function(d) { if (d && d.query && d.query.userinfo && d.query.userinfo.ratelimits && d.query.userinfo.ratelimits.purge) wait = 2000; $(mw.util.addPortletLink('p-cactions', '#', 'רענון', 'pt-refresh')) .click(function() { count = 0; collectSubCategories(mw.config.get('wgPageName') .replace(/_/g, " ")); }); }); } });