<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://zybkcn.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-MergeRefBracket.js</id>
	<title>MediaWiki:Gadget-MergeRefBracket.js - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://zybkcn.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-MergeRefBracket.js"/>
	<link rel="alternate" type="text/html" href="https://zybkcn.com/w/index.php?title=MediaWiki:Gadget-MergeRefBracket.js&amp;action=history"/>
	<updated>2026-05-04T07:44:44Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://zybkcn.com/w/index.php?title=MediaWiki:Gadget-MergeRefBracket.js&amp;diff=26321&amp;oldid=prev</id>
		<title>入我相思门：​创建页面，内容为“/*   本小工具可以將連續出現的&lt;ref&gt;標籤由分開幾對括號數字組合成一對括號包含多個數字   如： [1][2][4][7] 變成 [1,2,4,7] */  window.mergeRefBracket=function(){   // Helper function to move DOM element  function elementMoveto( node, refNode, pos ) {  	if(node &amp;&amp; refNode){  		var parent=refNode.parentNode;  		if (pos &amp;&amp; pos==&#039;after&#039;) { refNode=refNode.nextSibling; }  		try {  			parent.insertBefore( node, refNode );  		} catch…”</title>
		<link rel="alternate" type="text/html" href="https://zybkcn.com/w/index.php?title=MediaWiki:Gadget-MergeRefBracket.js&amp;diff=26321&amp;oldid=prev"/>
		<updated>2022-12-06T07:05:27Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“&lt;span class=&quot;autocomment&quot;&gt;本小工具可以將連續出現的&amp;lt;ref&amp;gt;標籤由分開幾對括號數字組合成一對括號包含多個數字   如： [1][2][4][7] 變成 [1,2,4,7]：​&lt;/span&gt;  window.mergeRefBracket=function(){   // Helper function to move DOM element  function elementMoveto( node, refNode, pos ) {  	if(node &amp;amp;&amp;amp; refNode){  		var parent=refNode.parentNode;  		if (pos &amp;amp;&amp;amp; pos==&amp;#039;after&amp;#039;) { refNode=refNode.nextSibling; }  		try {  			parent.insertBefore( node, refNode );  		} catch…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/*&lt;br /&gt;
  本小工具可以將連續出現的&amp;lt;ref&amp;gt;標籤由分開幾對括號數字組合成一對括號包含多個數字&lt;br /&gt;
  如： [1][2][4][7] 變成 [1,2,4,7]&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
window.mergeRefBracket=function(){&lt;br /&gt;
  // Helper function to move DOM element&lt;br /&gt;
 function elementMoveto( node, refNode, pos ) {&lt;br /&gt;
 	if(node &amp;amp;&amp;amp; refNode){&lt;br /&gt;
 		var parent=refNode.parentNode;&lt;br /&gt;
 		if (pos &amp;amp;&amp;amp; pos==&amp;#039;after&amp;#039;) { refNode=refNode.nextSibling; }&lt;br /&gt;
 		try {&lt;br /&gt;
 			parent.insertBefore( node, refNode );&lt;br /&gt;
 		} catch ( DOMException ) {};&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 var i, j;&lt;br /&gt;
&lt;br /&gt;
 //擷取所有&amp;lt;sups&amp;gt;&lt;br /&gt;
 var sups=new Array();&lt;br /&gt;
 i=document.getElementById(&amp;quot;content&amp;quot;).getElementsByTagName(&amp;quot;sup&amp;quot;).length;&lt;br /&gt;
 while(i--&amp;gt;0){&lt;br /&gt;
  sups.push(document.getElementById(&amp;quot;content&amp;quot;).getElementsByTagName(&amp;quot;sup&amp;quot;)[i]);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 function isRefSup(suptag){   //判斷是否為&amp;lt;ref&amp;gt;所產生的&amp;lt;sup&amp;gt;&lt;br /&gt;
  if(!suptag) return false;&lt;br /&gt;
&lt;br /&gt;
  if((&amp;quot;&amp;quot;+suptag.id).indexOf(&amp;quot;cite_ref&amp;quot;)==0 &amp;amp;&amp;amp; suptag.className==&amp;quot;reference&amp;quot;)&lt;br /&gt;
  if(suptag.childNodes.length==1)&lt;br /&gt;
  if((&amp;quot;&amp;quot;+suptag.childNodes[0].tagName).toLowerCase()==&amp;quot;a&amp;quot;)&lt;br /&gt;
  if((&amp;quot;&amp;quot;+suptag.childNodes[0].href).indexOf(&amp;quot;#cite_note-&amp;quot;)!=-1)&lt;br /&gt;
  if(suptag.childNodes[0].childNodes.length==1)&lt;br /&gt;
  if((&amp;quot;&amp;quot;+suptag.childNodes[0].childNodes[0].nodeName).toLowerCase()==&amp;quot;#text&amp;quot;)&lt;br /&gt;
  if(suptag.childNodes[0].childNodes[0].nodeValue.indexOf(&amp;quot;[&amp;quot;)==0)&lt;br /&gt;
   return true;&lt;br /&gt;
&lt;br /&gt;
  if((&amp;quot;&amp;quot;+suptag.tagName).toLowerCase()==&amp;quot;span&amp;quot;)&lt;br /&gt;
  if(suptag.id==&amp;quot;refTag-cite_ref-sup&amp;quot; || suptag.id==&amp;quot;noteTag-cite_ref-sup&amp;quot;)&lt;br /&gt;
  if(suptag.childNodes.length==1)&lt;br /&gt;
   return isRefSup(suptag.childNodes[0]);&lt;br /&gt;
&lt;br /&gt;
  return false;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 function getGroup(suptag){   //擷取&amp;lt;ref&amp;gt;的group文字&lt;br /&gt;
  var temp=suptag.childNodes[0].childNodes[0].nodeValue.split(&amp;quot; &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  if(temp.length&amp;lt;2) return &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  temp.length-=1;&lt;br /&gt;
  return temp.join(&amp;quot; &amp;quot;).substring(1);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 function getNumber(suptag){   //擷取&amp;lt;ref&amp;gt;的序號&lt;br /&gt;
  var temp=suptag.childNodes[0].childNodes[0].nodeValue.split(&amp;quot; &amp;quot;);&lt;br /&gt;
  var num=temp[temp.length-1];&lt;br /&gt;
&lt;br /&gt;
  for(var i=0; i&amp;lt;num.length; i++){&lt;br /&gt;
   if(!isNaN(num.charAt(i))) break;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return num.substring(i, num.length-1);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 function compareStr(a,b){   //比較字串&lt;br /&gt;
  a=&amp;quot;&amp;quot;+a;&lt;br /&gt;
  b=&amp;quot;&amp;quot;+b;&lt;br /&gt;
&lt;br /&gt;
  if(a==b) return 0;&lt;br /&gt;
&lt;br /&gt;
  if(a.length&amp;gt;b.length) return 1;&lt;br /&gt;
  if(a.length&amp;lt;b.length) return -1;&lt;br /&gt;
&lt;br /&gt;
  for(var i=0; i&amp;lt;a.length; i++){&lt;br /&gt;
   if(a.charCodeAt(i)&amp;gt;b.charCodeAt(i) ) return 1;&lt;br /&gt;
   if(a.charCodeAt(i)&amp;lt;b.charCodeAt(i) ) return -1;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 var cursup, curGroup, curNum;&lt;br /&gt;
&lt;br /&gt;
 var tags=new Array();&lt;br /&gt;
 var groups=new Array();&lt;br /&gt;
 var groupIndex;&lt;br /&gt;
&lt;br /&gt;
 var posSpan, addpos, nextSibling, moveobj;&lt;br /&gt;
&lt;br /&gt;
 //開始處理&lt;br /&gt;
 while(sups.length&amp;gt;0){&lt;br /&gt;
  cursup=sups.pop();&lt;br /&gt;
&lt;br /&gt;
  //把各&amp;lt;sup&amp;gt;歸類&lt;br /&gt;
  if(isRefSup(cursup)){&lt;br /&gt;
   curGroup=(cursup.group_name=getGroup(cursup));&lt;br /&gt;
   curNum=getNumber(cursup);&lt;br /&gt;
&lt;br /&gt;
   for(groupIndex=groups.length; groupIndex--&amp;gt;0; ){&lt;br /&gt;
    if(curGroup==groups[groupIndex]) break;&lt;br /&gt;
   }&lt;br /&gt;
   if(groupIndex&amp;lt;0){&lt;br /&gt;
    groupIndex=groups.push(curGroup)-1;&lt;br /&gt;
    tags.push(new Array());&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   for(i=tags[groupIndex].length; i--&amp;gt;0; ){&lt;br /&gt;
    if(compareStr(curNum, getNumber(tags[groupIndex][i]))&amp;gt;0 ) break;&lt;br /&gt;
   }&lt;br /&gt;
   tags[groupIndex].splice(i+1, 0, cursup);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
  //檢查連串是否已結束&lt;br /&gt;
&lt;br /&gt;
  //相容[[Template:RefTag]]和[[Template:noteTag]]&lt;br /&gt;
  nextSibling=cursup.nextSibling;&lt;br /&gt;
  if(!nextSibling){&lt;br /&gt;
   if(cursup.parentNode.tagName.toLowerCase()==&amp;quot;span&amp;quot;)&lt;br /&gt;
   if(cursup.parentNode.childNodes.length==1)&lt;br /&gt;
   if(cursup.parentNode.id==&amp;quot;refTag-cite_ref-sup&amp;quot; || cursup.parentNode.id==&amp;quot;noteTag-cite_ref-sup&amp;quot;){&lt;br /&gt;
    nextSibling=cursup.parentNode.nextSibling;&lt;br /&gt;
   }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if(!isRefSup(nextSibling)){ //如已結束&lt;br /&gt;
   //開始合併各註標&lt;br /&gt;
&lt;br /&gt;
   //決定擺放位置&lt;br /&gt;
   posSpan=document.createElement(&amp;quot;span&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
   addpos=cursup;&lt;br /&gt;
&lt;br /&gt;
   if((&amp;quot;&amp;quot;+cursup.parentNode.tagName).toLowerCase()==&amp;quot;span&amp;quot;)&lt;br /&gt;
   if(cursup.parentNode.childNodes.length==1)&lt;br /&gt;
   if(cursup.parentNode.id==&amp;quot;refTag-cite_ref-sup&amp;quot; || cursup.parentNode.id==&amp;quot;noteTag-cite_ref-sup&amp;quot;){&lt;br /&gt;
    addpos=cursup.parentNode;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   elementMoveto(posSpan, addpos, &amp;quot;before&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   //調整文字&lt;br /&gt;
   for(i=groups.length; i--&amp;gt;0; ){&lt;br /&gt;
    for(j=tags[i].length; j--&amp;gt;0; ){&lt;br /&gt;
     tags[i][j].childNodes[0].childNodes[0].nodeValue=getNumber(tags[i][j]);&lt;br /&gt;
&lt;br /&gt;
     if(j==tags[i].length-1){&lt;br /&gt;
      tags[i][j].childNodes[0].childNodes[0].nodeValue+=&amp;quot;]&amp;quot;;&lt;br /&gt;
     }else{&lt;br /&gt;
      tags[i][j].childNodes[0].childNodes[0].nodeValue+=&amp;quot;,&amp;quot;;&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
     if(j==0){&lt;br /&gt;
      if(!!groups[i]){&lt;br /&gt;
       tags[i][j].childNodes[0].childNodes[0].nodeValue=groups[i]+&amp;quot; &amp;quot;+tags[i][j].childNodes[0].childNodes[0].nodeValue;&lt;br /&gt;
      }&lt;br /&gt;
      tags[i][j].childNodes[0].childNodes[0].nodeValue=&amp;quot;[&amp;quot;+tags[i][j].childNodes[0].childNodes[0].nodeValue;&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
     //重組各標籤&lt;br /&gt;
     moveobj=tags[i][j];&lt;br /&gt;
&lt;br /&gt;
     if((&amp;quot;&amp;quot;+tags[i][j].parentNode.tagName).toLowerCase()==&amp;quot;span&amp;quot;)&lt;br /&gt;
     if(tags[i][j].parentNode.childNodes.length==1)&lt;br /&gt;
     if(tags[i][j].parentNode.id==&amp;quot;refTag-cite_ref-sup&amp;quot; || tags[i][j].parentNode.id==&amp;quot;noteTag-cite_ref-sup&amp;quot;){&lt;br /&gt;
      moveobj=tags[i][j].parentNode;&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
     elementMoveto(moveobj, posSpan, &amp;quot;after&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   posSpan.parentNode.removeChild(posSpan);&lt;br /&gt;
&lt;br /&gt;
   tags=new Array();&lt;br /&gt;
   groups=new Array();&lt;br /&gt;
  } &lt;br /&gt;
 }&lt;br /&gt;
 //處理完成&lt;br /&gt;
 &lt;br /&gt;
 window.mergeRefBracket=function(){};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
window.load_Merge_Simplify=function(){&lt;br /&gt;
 if( (&amp;quot;&amp;quot;+(typeof window.mergeRefBracket)).toLowerCase()==&amp;quot;function&amp;quot;) window.mergeRefBracket();&lt;br /&gt;
 if( (&amp;quot;&amp;quot;+(typeof window.simplifyRefNotesTag)).toLowerCase()==&amp;quot;function&amp;quot;) window.simplifyRefNotesTag();&lt;br /&gt;
 &lt;br /&gt;
 window.load_Merge_Simplify=function(){};&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
$( function(){&lt;br /&gt;
 if(mw.config.get(&amp;quot;wgNamespaceNumber&amp;quot;)&amp;lt;0)return;&lt;br /&gt;
 window.load_Merge_Simplify();&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>入我相思门</name></author>
	</entry>
</feed>