משתמש:Noambarsh/common.js
קפיצה לניווט
קפיצה לחיפוש
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
/*
Credit to ENHANCED RANDOM ARTICLE from the English Wikipedia (Wikipedia:Enhanced Random Article) By User:Gary!
Hebrew version by User:Noambarsh
*/
var addEnhancedRandomArticlePortletLink, addPortletLink, checkRandomMatch, eRCheckMatches, eRCreateArticleList, enhancedRandomArticle, enhancedRandomArticleBegin, mw;
if (typeof unsafeWindow !== 'undefined') {
addPortletLink = unsafeWindow.addPortletLink;
mw = unsafeWindow.mw;
}
enhancedRandomArticleBegin = function() {
return $.get(mw.config.get('wgScriptPath') + '/api.php', {
action: 'query',
list: 'random',
rnnamespace: 0,
format: 'json',
rnlimit: 10
}, eRCreateArticleList);
};
eRCreateArticleList = function(obj) {
var article, articles, articlesArray, _i, _len;
articles = obj.query.random;
articlesArray = [];
for (_i = 0, _len = articles.length; _i < _len; _i++) {
article = articles[_i];
articlesArray.push(article.title);
}
return $.get(mw.config.get('wgScriptPath') + '/api.php', {
action: 'query',
prop: 'revisions',
rvdir: 'older',
rvprop: 'content',
titles: articlesArray.join('|'),
format: 'json'
}, eRCheckMatches);
};
checkRandomMatch = function(title, content) {
var disambiguationMatches, matched;
matched = false;
if (content.match("{{קצרמר") || content.match("{{שכתוב") || content.match("{{לשכתב") || content.match("{{עריכה") || content.match("{{לערוך") || content.match("{{מקורות") || content.match("{{להשלים")) {
matched = true;
}
return matched;
};
eRCheckMatches = function(obj) {
var article, articles, content, matched, page, title, value, _i, _len, _ref;
articles = [];
_ref = obj.query.pages;
for (page in _ref) {
value = _ref[page];
articles.push(value);
}
for (_i = 0, _len = articles.length; _i < _len; _i++) {
article = articles[_i];
content = article['revisions'][0]['*'];
title = article['title'];
matched = checkRandomMatch(title, content);
if (matched) {
window.location = '/wiki/' + title;
return;
}
}
return alert("ערך לא נמצא אחרי 10 נסיונות - כל הכבוד לוויקיפדים החרוצים! לחצו שוב כדי לנסות עוד 10 פעמים");
};
addEnhancedRandomArticlePortletLink = function() {
var node, nodeLink, randomPageLink;
if ($('#p-navigation').length) {
mw.util.addPortletLink('p-navigation', '#', 'ערך אקראי לטיפול', 't-enhanced-random-article', 'ערך אקראי לטיפול לדוגמא קצרמרים וערכים לשכתוב', '', '#n-randompage');
$('#t-enhanced-random-article').on('click', function(event) {
event.preventDefault();
return enhancedRandomArticleBegin();
});
if ($('#n-randompage').length) {
randomPageLink = $('#n-randompage').children().eq(0);
randomPageLink.attr('accesskey', null);
}
node = $('#t-enhanced-random-article');
nodeLink = node.children().eq(0);
nodeLink.attr('accesskey', 'x');
return nodeLink.attr('title', nodeLink.attr('title') + ' [ctrl-x]');
}
};
$(addEnhancedRandomArticlePortletLink);
if (typeof unsafeWindow !== 'undefined') {
unsafeWindow.checkRandomMatch = checkRandomMatch;
unsafeWindow.enhancedRandomArticleBegin = enhancedRandomArticleBegin;
unsafeWindow.eRCheckMatches = eRCheckMatches;
unsafeWindow.eRCreateArticleList = eRCreateArticleList;
}