MediaWiki:Mobile.js
提供:百科事典.com
ナビゲーションに移動検索に移動
注意: 保存後、変更を確認するにはブラウザーのキャッシュを消去する必要がある場合があります。
- Firefox / Safari: Shift を押しながら 再読み込み をクリックするか、Ctrl-F5 または Ctrl-R を押してください (Mac では ⌘-R)
- Google Chrome: Ctrl-Shift-R を押してください (Mac では ⌘-Shift-R)
- Internet Explorer / Microsoft Edge: Ctrl を押しながら 最新の情報に更新 をクリックするか、Ctrl-F5 を押してください
- Opera: Ctrl-F5を押してください
/* ここにある全てのJavaScriptはモバイル版サイトの利用者に影響します */
/******************************************************
* Timeless モバイル専用:最近の更新ウィジェット
******************************************************/
mw.loader.using(['mediawiki.util'], function () {
function loadRecentChanges(container) {
var key = 'recentchanges-cache';
var keyTime = key + '-time';
var ttl = 5 * 60 * 1000;
var now = Date.now();
var cached = localStorage.getItem(key);
var cachedTime = localStorage.getItem(keyTime);
if (cached && cachedTime && now - cachedTime < ttl) {
container.innerHTML = cached;
return;
}
$.getJSON(mw.util.wikiScript('api'), {
action: 'query',
list: 'recentchanges',
rclimit: 7,
rcprop: 'title|timestamp|ids',
rcshow: '!bot',
format: 'json'
}, function (data) {
var html = '<ul>';
data.query.recentchanges.forEach(function (rc) {
html += '<li>' +
'<a href="/' + rc.title + '">' + rc.title + '</a>' +
' <span style="color:#666;">(' + rc.timestamp + ')</span>' +
'</li>';
});
html += '</ul>';
localStorage.setItem(key, html);
localStorage.setItem(keyTime, now);
container.innerHTML = html;
});
}
function initRecentChanges() {
var container = document.getElementById('recentchanges-container');
if (!container) return;
if (container.dataset.loaded) return;
container.dataset.loaded = "1";
loadRecentChanges(container);
}
var observer = new MutationObserver(function () {
initRecentChanges();
});
observer.observe(document.body, { childList: true, subtree: true });
initRecentChanges();
});