2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

User:九江月/vector.js

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索

注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox/Safari:按住“Shift”的同时单击“刷新”,或按“Ctrl-F5”或“Ctrl-R”(Mac为“⌘-R”)
  • Google Chrome:按“Ctrl-Shift-R”(Mac为“⌘-Shift-R”)
  • Internet Explorer:按住“Ctrl”的同时单击“刷新”,或按“Ctrl-F5”
  • Opera:在“工具→首选项”中清除缓存
如果您已登录但该页面出现未登录状态,请尝试在地址栏的地址最后添加代码?_=1来访问最新页面。
添加代码后的本页地址如下:-{R|https://moegirl.icu/User:%E4%B9%9D%E6%B1%9F%E6%9C%88/vector.js?_=1}-
//<pre>
$("#p-cactions ul").append('<li id="btn-deltool" onclick="pagefunc(1)"><a title="挂删">挂删标记</a></li>');
$("#p-cactions ul").append('<li id="btn-deltool" onclick="pagefunc(2)"><a title="收藏">添加收藏</a></li>');
$("#p-cactions ul").append('<li id="btn-clock" onclick="setclock()"><a title="启动时钟">启动时钟</a></li>');
$("#p-cactions ul").append('<li id="btn-ioctool" onclick="createioc()"><a title="注入工具">注入工具</a></li>');
$("#p-cactions ul").append('<li id="btn-clock" onclick="cutoff()"><a title="歌词分离">歌词分离</a></li>');

mw.loader.load('/index.php?title=User:九江月/SpinePlayer.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=User:九江月/js/mv.js&action=raw&ctype=text/javascript');

function createioc(){var parent = document.getElementById('content');if(!parent){parent=document.getElementById('main');};var div = document.createElement('div');div.setAttribute('id','tools');var tools = document.getElementById('tools');if(tools){tools.parentNode.removeChild(tools)};var phase = document.createElement('textarea');phase.setAttribute('id','my-code');var btn = document.createElement('input');btn.setAttribute('type','button');btn.setAttribute('value','excute');btn.setAttribute('onclick','javascript:(function(){var txt = document.getElementById("my-code").value;eval(txt);})();');div.appendChild(phase);div.appendChild(btn);parent.insertBefore(div,parent.firstChild);}

function cutoff() {
var text = $('#my-text p').html();var textsets = text.split('<br>');var text0="";var text1="";
for(var i=0;i<textsets.length;i++){text0 += textsets[i];i++;}
for(var i=1;i<textsets.length;i++){text1 += textsets[i];i++;}
console.log(text0+"\n\n"+text1);
}
function repreview(){
  $.ajax({
    url: 'https://zh.moegirl.org.cn/api.php',
    data: {action: 'parse',format: 'json',title:'预览',text:($('#wpTextbox1')[0].value)},
    dataType: 'json',
    type: 'POST',
    headers: { 'Api-User-Agent': 'Example/1.0' },
    success: function(data) {
        var req = data.parse.text['*'].replace(/\n<!--((.*)|(\n))*?-->\n/g,'');        
        //console.log(req);
        $('.mw-parser-output')[0].innerHTML = req;
        if ($('.mw-collapsible')[0]) mw.loader.using('jquery.makeCollapsible').then(function() {
            //console.debug('jquery.makeCollapsible is loaded.');
            $('.mw-collapsible').makeCollapsible();
        });
    },
    error: function( xhr ) {
        alert( 'Error: Request failed.' );
    }
  });
}
function pagefunc(page){
var fs = function(name,args){
var sw = {
test:function(args){console.log(args);},
init:function(args){return (args>=0?false:true);},
page:function(args){var temp = ["null","挂删","收藏夹"];return (args>=temp.length||args<=0?temp[0]:temp[args]);},
reason:function(args){var temp = ["null","理由","分组"];return (args>=temp.length||args<=0?temp[0]:temp[args]);},
check:function(args){return (function(args,reason,callback){
	$.ajax( {url: 'https://zh.moegirl.org.cn/api.php',dataType: 'json',type: 'POST',
	data: {format: 'json',action: 'parse',page:args,prop:'sections'},
	error: function( xhr ) {alert( 'Error: get Content Request failed.' );},
	success: function(data) {console.log(data);ret = data;
	var favindex = {};
	for(i in data.parse.sections){
	  var item = data.parse.sections[i];
	  if(!favindex[item.line]){favindex[item.line] = {};}
	  favindex[item.line].id = i;
	}
	callback(reason,favindex[reason]?Number(favindex[reason].id)+1:"new");}
	});
  });
},
func:function(args){return 0},
editfunc:function(args){return (function(reason,content){
$.ajax( {
    url: 'https://zh.moegirl.org.cn/api.php',
    data: {action: 'query',meta:'tokens',format: 'json',type:'csrf|watch|patrol'},
    dataType: 'json',type: 'POST',headers: { 'Api-User-Agent': 'Example/1.0' },
    error: function( xhr ) {alert( 'Error: Token Request failed.' );},
    success: function(data) {
        $.ajax( {
            url: 'https://zh.moegirl.org.cn/api.php',
            dataType: 'json',type: 'POST',headers: { 'Api-User-Agent': 'Example/1.0' },
            data: {
                format: 'json',action: 'edit',
                token:data.query.tokens.csrftoken,
                title:'User:九江月/'+fs("page",page),
                section:(content!="delmark"?content:(mw.config.get("wgUserGroups").includes("patroller")?1:2)),
                sectiontitle:(content==="new"?reason:""),
                summary:"Request from [[user:"+ mw.config.get("wgUserName")+"]]",
                appendtext:"\n*[["+mw.config.get("wgPageName")+"]]"+(content==="delmark"?"。理由:"+reason+"。by--~~~~":"")
            },
            error: function( xhr ) {alert( 'Error: Edit Request failed.' );},
            success: function(data) {alert( '反馈成功!' );console.log(data);}
        });
    }
} );
})}
};
return (sw[name]?sw[name]:sw["func"])(args);
};
if(fs("init",page)){return 0;}//无效函数
var reason=prompt(fs("reason",page),"");
if(reason==""||reason==null){return 0}//取消打断
if(page===1){fs("editfunc")(reason,"delmark")}else{fs("check")("User:九江月/收藏夹",reason,fs("editfunc"));}
}

$(document).ready( function() {
if($("#specialchars").length>0){
var charsets = [
//在这里插入魔术字,start是光标前文本,end是光标后文本,id设置元素id属性,css设置元素样式,text是显示文本(值为panel时=容器、为<br/>时=换行符)
//valfunc定义参数表示式,x指代循环次数;parent定义该元素所在父级元素内;target表示该元素所取代位置只能嵌入1个位置;count表示该元素重复次数,hyperText将覆盖Text并设置为高级文本
{start:"",end:"",text:'<a target="_blank" rel="nofollow noreferrer noopener" class="external text" onclick="repreview()">显示预览</a>'},
{text:"<br/>"},
{start:"",end:"",text:'<a target="_blank" rel="nofollow noreferrer noopener" class="external text" href="https://zh.moegirl.org/%E8%90%8C%E5%A8%98%E7%99%BE%E7%A7%91:%E7%94%A8%E6%88%B7%E4%BA%A4%E6%B5%81%E7%94%A8%E8%AF%AD%E6%A0%B7%E6%9D%BF">用户交流用语样板</a>'},
{start:"--{{subst:user:九江月/sign}}~~~~~",end:"",text:'<a target="_blank" rel="nofollow noreferrer noopener" class="external text" href="https://zh.moegirl.org/User:%E4%B9%9D%E6%B1%9F%E6%9C%88/sign">【引用签名】</a>'},
{start:"{{lj|",end:"}}",text:"【日语标签】"},{start:"<references />",end:"",text:"【分类引用】"},
{text:"<br/>"},
{start:"{{#vardefine:",end:"|}}",text:"【声明变量】"},{start:"{{#var:",end:"}}",text:"【引用变量】"},
{start:"{{#switch:{{{1",end:"|}}}\n|key=\n|#default=}}",text:"【switch】"},{start:"{{#expr:",end:"}}",text:"【expr】"},
{text:"<br/>"},
{start:"{{LyricsKai|original=null",end:"|translated= }}",text:"【歌词:LyricsKai】"},
{start:"[[Category:",end:"]]",text:"【声明分类】"},
{start:"#重定向[[",end:"]]",text:"【重定向】"},
{text:"<br/>"},
{start:"{{BilibiliVideo|id=",end:"|t=}}",text:"【插入视频】"},
{start:"<flashmp3>http://music.163.com/song/media/outer/url?id=",end:"</flashmp3>",text:"【插入歌曲】"},
{start:"<poem id='my-text'>",end:"  </poem>",text:"【歌词分离】"},
{text:"panel",id:"emoji-panel",
hyperText:'[@emoji]'},
{start:"{{emoji|id=[@id]}}",end:"",valfunc:{id:"x+1",x:"22*(x-x%10)/10",y:"22*(x%10)"},
text:'emoji',parent:"#emoji-panel",target:"emoji",count:"470",css:"border:0px;",
hyperText:'<div style="display:inline-block;width:22px;height:22px;position:relative;border:1px solid #999;border-radius:0;overflow:hidden;z-index:1"><img style="position:absolute;top:-[@y]px;left:-[@x]px;" src="https://static.mengniang.org/common/b/bd/EmojiNew.png" width="1034px"></div>'}
];
if($('#ext-charinsert').length<=0){$("#specialchars").prepend("<p id='ext-charinsert'></p>");}
var label={};
for(var i in charsets){
switch(charsets[i].text){
case "<br/>":
label = document.createElement('br');
break;
case "panel":
label = document.createElement('div');label.setAttribute("class","mw-ext-char-panel");label.setAttribute("id",charsets[i].id?charsets[i].id:"");label.setAttribute("style",charsets[i].css?charsets[i].css:"");label.innerHTML=charsets[i].hyperText?charsets[i].hyperText:charsets[i].text;
break;
default:
label = document.createElement('a');label.setAttribute("class","mw-ext-char-item");label.setAttribute("style",charsets[i].css?charsets[i].css:"");label.setAttribute("href","#");label.setAttribute("data-mw-ext-char-start",charsets[i].start);label.setAttribute("data-mw-ext-char-end",charsets[i].end);label.innerHTML=charsets[i].hyperText?charsets[i].hyperText:charsets[i].text;
}
var temp="";
if(charsets[i].count?true:false){for(var copyi = 0;copyi<charsets[i].count;copyi++){var output = label.outerHTML;
for(var fid in charsets[i].valfunc){output = output.replace(eval("/\\[@"+fid+"\\]/g"),eval(charsets[i].valfunc[fid].replace(/x/g,copyi)));}
temp+=output;}}
if(charsets[i].target?true:false){
var html = $(charsets[i].parent?charsets[i].parent:"#ext-charinsert")[0];
html.innerHTML = html.innerHTML.replace(eval("/\\[@"+charsets[i].target+"\\]/"),temp==""?label.outerHTML:temp);
}else{$(charsets[i].parent?charsets[i].parent:"#ext-charinsert").append(label);}
}
if ($('.mw-collapsible')[0]) mw.loader.using('jquery.makeCollapsible').then(function() {$('.mw-collapsible').makeCollapsible();});
//this code picked from mw.ext.charinsert
(function($,mw){
var addClickHandlers = function ( $content ) {
$content.find('a.mw-ext-char-item' ).each( function () {
var $elm = $( this ),start = $elm.data( 'mw-ext-char-start' ),end = $elm.data( 'mw-ext-char-end' );
if ( $elm.data( 'mw-ext-char-done' ) ) {return;}
$elm.click(function(e){e.preventDefault();mw.toolbar.insertTags( start, end, '' );}).data( 'mw-ext-char-done', true ).attr( 'href', '#' );});};
$(function(){addClickHandlers( $( document ) );});
mw.hook('wikipage.content').add( addClickHandlers );
})(jQuery,mediaWiki);}
});
//</pre>