「MediaWiki:Common.js」修訂間的差異

出自RPG MAKER WIKI
跳至導覽 跳至搜尋
(test)
(remove)
行 1: 行 1:
/* 此 JavaScript 會用於使用者載入的每一個頁面。 */
$(function(){
if($("#p-recentchanges").length == 0){
return
}
var NAMESPACES = { // 所有 namespace (命名空間)清單
"分類":"1",


}
var storage = localStorage || {}
var frequency = 20 // 更新頻率,以秒為單位
// 設為 20 表示每 20 秒更新一次 sidebar 清單
// 由於會用在數學除法上,所以請不要設置為 0 或數字以外的值
var numOfPageLoad = 20 // 要讀取多少最新變更
var wikiURL = location.origin // Wiki 的 URL
var apiURL = location.origin + "/api.php" // Wiki 的 api 的 url
// 詳見 特殊:版本#入口 URL
var namespaceUsed = [ // 所有使用的 namespace (命名空間)
NAMESPACES["分類"],
]
function loadCallback(data){
var list = $("<ul>")
$($("#p-recentchanges").find(".body, .pBody")[0])
.after(
$("<div class='body'>").append(list)
)
.after(
$("<h3></h3>")
.css({"font-style": "italic"})
.html("最新 " + numOfPageLoad + " 筆變動")
)
for(var i in data){
var rc = data[i]
list.append(
$("<li>")
.append(
$("<a>")
.attr("href", wikiURL + "/?curid=" + rc.pageid)
.html(rc.title)
)
)
}
}
var lastUpdateTime = parseInt(new Date().getTime() / 1000 / frequency) * 1000 * frequency
if(storage.lastUpdateTime && storage.lastUpdateTime >= lastUpdateTime){
loadCallback(JSON.parse(storage.recentchanges))
return
}
$.ajax({
url: apiURL,
data: {
action: "query",
list: "recentchanges",
format: "json",
rcshow: "!redirect",
rcnamespace: namespaceUsed.join("|"),
rclimit: numOfPageLoad,
rctoponly: true // 只列出最新編輯
},
dataType: "json",
success: function(data){
storage.lastUpdateTime = lastUpdateTime
storage.recentchanges = JSON.stringify(data.query.recentchanges)
loadCallback(data.query.recentchanges)
}
})
})

於 2017年8月14日 (一) 14:12 的修訂