• 欢迎光临中文版东方维基
  • 您目前还未登录,请点此登录后进行编辑。
    如果您还没有在东方维基注册,请点此注册
  • 如果您想要注册账号,请联络KyoriAsh或前往Discord频道以取得新账号

“MediaWiki:Common.js”的版本间的差异

来自东方维基
跳转至: 导航搜索
(测试逾期浏览器)
(修正)
第4行: 第4行:
 
mw.loader.load( '//platform-api.sharethis.com/js/sharethis.js#property=5c076081f30c5a001138ce35&product=inline-follow-buttons&action=raw&ctype=text/javascript');
 
mw.loader.load( '//platform-api.sharethis.com/js/sharethis.js#property=5c076081f30c5a001138ce35&product=inline-follow-buttons&action=raw&ctype=text/javascript');
  
mw.loader.load( '/index.php?title=User:KyoriAsh/OutdatedBrowser.js&action=raw&ctype=text/javascript');
+
mw.loader.load( '//zh.touhouwiki.net/index.php?title=User:KyoriAsh/OutdatedBrowser.js&action=raw&ctype=text/javascript');
 
// Plain Javascript
 
// Plain Javascript
 
//event listener: DOM ready
 
//event listener: DOM ready

2018年12月5日 (三) 07:15的版本

//<source lang="javascript">
/* 此处的JavaScript将加载于所有用户每一个页面。 */

mw.loader.load( '//platform-api.sharethis.com/js/sharethis.js#property=5c076081f30c5a001138ce35&product=inline-follow-buttons&action=raw&ctype=text/javascript');

mw.loader.load( '//zh.touhouwiki.net/index.php?title=User:KyoriAsh/OutdatedBrowser.js&action=raw&ctype=text/javascript');
// Plain Javascript
//event listener: DOM ready
function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            if (oldonload) {
                oldonload();
            }
            func();
        };
    }
}
//call plugin function after DOM ready
addLoadEvent(function(){
    outdatedBrowser({
        bgColor: '#f25648',
        color: '#ffffff',
        lowerThan: 'transform',
        languagePath: ''
    });
});
// Using jQuery (version that supports IE < 9)
$( document ).ready(function() {
    outdatedBrowser({
        bgColor: '#f25648',
        color: '#ffffff',
        lowerThan: 'transform',
        languagePath: ''
    });
});

$(function() {
    $(".showExtra").click(function() {
    	$(this).closest("table").find(".extraRow").fadeIn("slow");$(this).closest("tr").remove();
    });
    filterTable();
    }
);

/* Import more specific scripts if necessary */
function customizeWikiEditorToolbar() {
	$('#wpTextbox1').wikiEditor('addToToolbar', {
		'section': 'main',
		'group': 'insert',
		'tools': {
			'lang-ja': {
				label: '指定选取的文字为日文文字',
				type: 'button',
				icon: '/images/7/79/WikiEd-lang-ja.png',
				action: {
					type: 'encapsulate',
					options: {
						pre: "((lang|ja|",
						post: "}}",
						peri: "\u6771\u65b9"
					}
				}
			}
		}
	});
}

mw.loader.using('mediawiki.action.edit', function () {
    /* add button for {{lang|ja|}} to editor toolbar */
    /* check for WikiEditor first, then fall back on default */
    if ( mw.user.options.get('usebetatoolbar') ) {
        mw.loader.using( 'ext.wikiEditor.toolbar', function () {
            $(document).ready( customizeWikiEditorToolbar );
        });
    } else {
        mw.toolbar.addButton(
            "/images/d/da/Lang_ja.png", // imageFile
            "Designate text fragment as written in Japanese", // speedTip
            "{{lang|ja|", // tagOpen
            "}}", // tagClose
            "\u6771\u65b9" // sample text
        );
    }
});

// 公告滚动
function AutoScroll(obj) {
	$(obj).find("ul:first").animate({
		marginTop:"-25px"
	},500,function(){
		$(this).css({marginTop: "0px"}).find("li:first").appendTo(this);
	});
}

$(document).ready(function() {
	setInterval('AutoScroll("#scrollDiv")',5000);
});


// 筛选功能
function filterTable(){
	$("table.filterable").each(function(){
		var i=0;
		var cols;
		$(this).find("tr:first-child th, tr:first-child td").each(function(){
			if (!$(this).hasClass("unfilterable")){
				cols=[];
				$(this).closest("table").find("tr td:nth-child("+(i+1)+")").each(function(){
					cols.push($(this).text());
				});
				cols = arrayUnique(cols);
				l=0;
				for (j=0; j<cols.length; j++){
					t=charLength(cols[j]);
					if (l<t) l=t;
				}
				$(this).css("position","relative");
				$(this).html('<a href="javascript:void(0)" class="showFilterMenu">'+$(this).html()+'▼</a>');
				$(this).append($('<div class="filterMenu hidden" style="position: absolute; top: '+$(this).height()+35+'px; left: 0; width: '+(50+l*7)+'px; text-align: left; padding: 5px; border: 1px #333333 solid; -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; background: inherit; z-index: 1"></div>'));
				for (j=0; j<cols.length; j++){
					$(this).find(".filterMenu").append('<div><input type="checkbox" value="'+cols[j]+'" col="'+(i+1)+'" class="filterOption" checked>'+cols[j]+'</div>');
				}
			}
			i++;
		});
		$(this).find("tr:nth-child(n+1)").attr("condition", 0);
	});
	$(".showFilterMenu").click(function(){
		if ($(this).parent().find(".filterMenu:visible").length){
			$(".filterMenu").slideUp(150);
		}else{
			$(".filterMenu").slideUp(150);
			$(this).parent().find(".filterMenu").slideDown(150);
		}
	});
	$(document).mouseup(function(e){
		var container = $(".filterMenu");
	    if (!container.is(e.target) && container.has(e.target).length === 0){
	        container.slideUp(150);
	    }
	});
	$(".filterOption").click(function(){
		col=$(this).attr("col");
		val=$(this).val();
		if ($(this).is(":checked")) chg=1; else chg=-1;
		$(this).closest("table").find("tr:nth-child(n+1)").each(function(){
			if ($(this).find("td:nth-child("+col+")").text()==val){
				var cond=$(this).attr("condition");
				cond=Number(cond)+chg;
				$(this).attr("condition", cond);
				if (cond==0) $(this).show();
				else $(this).hide();
			}
		});
	});
}

function arrayUnique(a) {
    return a.reduce(function(p, c) {
        if (p.indexOf(c) < 0) p.push(c);
        return p;
    }, []);
}

function charLength(s){
	return s.length+(encodeURI(s).split(/%..|./).length-1-s.length)/2;
}