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

出自RPG MAKER WIKI
跳至導覽 跳至搜尋
標籤已被回退
 
(未顯示同一使用者於中間所作的 5 次修訂)
行 28: 行 28:
var storage = localStorage || {}
var storage = localStorage || {}
var frequency = 20
var frequency = 20 ;
var numOfPageLoad = 20;
var wikiURL = location.origin ;
var numOfPageLoad = 20
var wikiURL = location.origin
var apiURL = location.origin + "/api.php"
var apiURL = location.origin + "/api.php"
var namespaceUsed = [
var namespaceUsed = [
行 43: 行 40:
NAMESPACES["模板討論"],
NAMESPACES["模板討論"],
NAMESPACES["分類討論"]
NAMESPACES["分類討論"]
]
]
 
 
function loadCallback(data){
function loadCallback(data){
var list = $("<ul>")
var list = $("<ul>")
$($("#p-recentchanges").find(".body, .pBody")[0])
$($("#p-recentchanges").find(".vector-menu-content")[0])
.after(
.after(
$("<div class='body'>").append(list)
$("<div class='vector-menu-content'>").append(list)
)
)
.after($("<h3></h3>").css({"font-style": "italic"}).html("最新 " + numOfPageLoad + " 筆變動"))
            .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){
行 69: 行 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))
行 96: 行 92:
})
})
});
});
/* 內容折疊測試 */
$(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');