「MediaWiki:Common.js」修訂間的差異
跳至導覽
跳至搜尋
(fix path) |
|||
(未顯示由 3 位使用者於中間所作的 25 次修訂) | |||
行 1: | 行 1: | ||
/* 顯示最新20筆*/ | |||
$(function(){ | $(function(){ | ||
console.log('into plugin '); | console.log('into plugin '); | ||
if($("#p-recentchanges").length == 0){ | if($("#p-recentchanges").length == 0){ | ||
return | return | ||
} | } | ||
行 25: | 行 25: | ||
"Gadget definition talk":"2303" | "Gadget definition talk":"2303" | ||
} | } | ||
/* 排版調整 */ | |||
var storage = localStorage || {} | var storage = localStorage || {} | ||
var frequency = 20 | var frequency = 20 ; | ||
var numOfPageLoad = 20; | |||
var wikiURL = location.origin ; | |||
var apiURL = location.origin + "/api.php" | |||
var numOfPageLoad = 20 | var namespaceUsed = [ | ||
var wikiURL = location.origin | |||
var apiURL = location.origin + " | |||
var namespaceUsed = [ | |||
NAMESPACES["(主要)"], | NAMESPACES["(主要)"], | ||
NAMESPACES["討論"], | NAMESPACES["討論"], | ||
行 44: | 行 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='vector-menu-content'>").append(list) | ||
) | ) | ||
.after($("<h3></h3>").css({"font-style": "italic"}).html("近期更新條目")) | |||
//.after($("<h3></h3>").css({"font-style": "italic"}).html("最新 " + numOfPageLoad + " 筆變動")) | |||
for(var i in data){ | for(var i in data){ | ||
var rc = data[i] | var rc = data[i] | ||
list.append( | list.append( | ||
$("<li>") | $("<li>") | ||
行 77: | 行 66: | ||
var lastUpdateTime = parseInt(new Date().getTime() / 1000 / frequency) * 1000 * frequency | var lastUpdateTime = parseInt(new Date().getTime() / 1000 / frequency) * 1000 * frequency | ||
if(storage.lastUpdateTime && storage.lastUpdateTime >= lastUpdateTime){ | if(storage.lastUpdateTime && storage.lastUpdateTime >= lastUpdateTime){ | ||
loadCallback(JSON.parse(storage.recentchanges)) | loadCallback(JSON.parse(storage.recentchanges)) | ||
行 103: | 行 91: | ||
} | } | ||
}) | }) | ||
}) | }); | ||
/* 內容折疊測試 */ | |||
$(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'); |
於 2022年8月23日 (二) 01:23 的最新修訂
/* 顯示最新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("近期更新條目")) //.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');