「MediaWiki:Common.js」修訂間的差異
跳至導覽
跳至搜尋
標籤:回退 |
(MW更新版本) |
||
| 行 1: | 行 1: | ||
/* 顯示最新20筆*/ | /* 顯示最新20筆*/ | ||
$(function(){ | $(function(){ | ||
| 行 41: | 行 40: | ||
NAMESPACES["模板討論"], | NAMESPACES["模板討論"], | ||
NAMESPACES["分類討論"] | NAMESPACES["分類討論"] | ||
] | ] | ||
function loadCallback(data){ | function loadCallback(data){ | ||
var list = $("<ul>") | var list = $("<ul>") | ||
$($("#p-recentchanges").find(". | $($("#p-recentchanges").find(".vector-menu-content")[0]) | ||
.after( | .after( | ||
$("<div class=' | $("<div class='vector-menu-content'>").append(list) | ||
) | ) | ||
.after($("<h3></h3>").css({"font-style": "italic"}).html("最新 " + numOfPageLoad + " 筆變動")) | .after($("<h3></h3>").css({"font-style": "italic"}).html("最新 " + numOfPageLoad + " 筆變動")) | ||
| 行 52: | 行 52: | ||
for(var i in data){ | for(var i in data){ | ||
var rc = data[i] | var rc = data[i] | ||
list.append($("<li>").append($("<a>").attr("href", wikiURL + "/?curid=" + rc.pageid).html(rc.title))) | list.append( | ||
$("<li>") | |||
.append( | |||
$("<a>") | |||
.attr("href", wikiURL + "/?curid=" + rc.pageid) | |||
.html(rc.title) | |||
) | |||
) | |||
} | } | ||
} | } | ||
於 2022年8月23日 (二) 01:17 的修訂
/* 顯示最新20筆*/
$(function(){
console.log('into plugin ');
if($("#p-recentchanges").length == 0){
return
}
var NAMESPACES = { // 所有 namespace (命名空間)清單
"(主要)":"0",
"討論":"1",
"使用者":"2",
"使用者討論":"3",
"檔案":"6",
"檔案討論":"7",
"MediaWiki":"8",
"MediaWiki討論":"9",
"模板":"10",
"模板討論":"11",
"使用說明":"12",
"使用說明討論":"13",
"分類":"14",
"分類討論":"15",
"Gadget":"2300",
"Gadget talk":"2301",
"Gadget definition":"2302",
"Gadget definition talk":"2303"
}
/* 排版調整 */
var storage = localStorage || {}
var frequency = 20 ;
var numOfPageLoad = 20;
var wikiURL = location.origin ;
var apiURL = location.origin + "/api.php"
var namespaceUsed = [
NAMESPACES["(主要)"],
NAMESPACES["討論"],
NAMESPACES["使用者討論"],
NAMESPACES["檔案討論"],
NAMESPACES["模板"],
NAMESPACES["模板討論"],
NAMESPACES["分類討論"]
]
function loadCallback(data){
var list = $("<ul>")
$($("#p-recentchanges").find(".vector-menu-content")[0])
.after(
$("<div class='vector-menu-content'>").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)
}
})
});
/* 內容折疊測試 */
$(function(){
if ($('table.collapsible').size() > 0) {
mw.loader.load('ext.gadget.collapsible');
}
});
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-80211537-9', 'auto');
ga('send', 'pageview');