<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-ViewSourceMode.js</id>
	<title>MediaWiki:Gadget-ViewSourceMode.js - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-ViewSourceMode.js"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=MediaWiki:Gadget-ViewSourceMode.js&amp;action=history"/>
	<updated>2026-06-26T17:19:32Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=MediaWiki:Gadget-ViewSourceMode.js&amp;diff=2105721&amp;oldid=prev</id>
		<title>imported&gt;Diskdance：​使用HanAssist</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=MediaWiki:Gadget-ViewSourceMode.js&amp;diff=2105721&amp;oldid=prev"/>
		<updated>2025-07-31T05:28:52Z</updated>

		<summary type="html">&lt;p&gt;使用HanAssist&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/*&lt;br /&gt;
  此小工具為頁面提供源碼查看模式，在此模式下編輯框將被設為唯讀而不能編輯，模擬被全保護那般的狀態。&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
(function() {&lt;br /&gt;
	const { conv } = require( &amp;#039;ext.gadget.HanAssist&amp;#039; );&lt;br /&gt;
	var getParamValue=mw.util.getParamValue;&lt;br /&gt;
	var old_title, old_txt;&lt;br /&gt;
	&lt;br /&gt;
	//立即執行段 開始&lt;br /&gt;
	(function(){&lt;br /&gt;
		//如進入源碼模式&lt;br /&gt;
		if(mw.config.get(&amp;#039;wgAction&amp;#039;)==&amp;quot;edit&amp;quot; &amp;amp;&amp;amp; getParamValue(&amp;quot;viewsource&amp;quot;)==1){}else return null; //如不是，離開&lt;br /&gt;
		&lt;br /&gt;
		//改變標題&lt;br /&gt;
		var viewSrcTitle=conv({ hans: &amp;quot;查看“&amp;quot;, hant: &amp;quot;檢視「&amp;quot; })+mw.config.get(&amp;#039;wgPageName&amp;#039;)+conv({ hans: &amp;quot;”的源代码&amp;quot;, hant: &amp;quot;」的原始碼&amp;quot; })+((getParamValue(&amp;quot;section&amp;quot;)===null)?&amp;quot;&amp;quot;:&amp;quot;（段落）&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		old_title=document.title;&lt;br /&gt;
		document.title=viewSrcTitle;&lt;br /&gt;
		var wikititle=old_title.split(&amp;quot;-&amp;quot;);&lt;br /&gt;
		if(wikititle.length&amp;gt;1) document.title+=&amp;quot; -&amp;quot;+wikititle[wikititle.length-1];&lt;br /&gt;
		&lt;br /&gt;
		//盡快將原版的編輯界面隱藏&lt;br /&gt;
		(function hideBodyContent(){&lt;br /&gt;
			if($(&amp;quot;div#bodyContent&amp;quot;).addClass(&amp;quot;realBodyContent&amp;quot;).css(&amp;quot;display&amp;quot;, &amp;quot;none&amp;quot;).length&amp;gt;0){&lt;br /&gt;
				old_txt=$(&amp;quot;h1.firstHeading#firstHeading&amp;quot;).text();&lt;br /&gt;
				$(&amp;quot;h1.firstHeading#firstHeading&amp;quot;).text(viewSrcTitle);&lt;br /&gt;
				return null;&lt;br /&gt;
			}&lt;br /&gt;
			&lt;br /&gt;
			setTimeout(hideBodyContent, 1);&lt;br /&gt;
		})();&lt;br /&gt;
		&lt;br /&gt;
	})();&lt;br /&gt;
	//立即執行段 結束&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	//載入完成後執行段 開始&lt;br /&gt;
	$( function(){&lt;br /&gt;
		&lt;br /&gt;
		if(mw.config.get(&amp;#039;wgAction&amp;#039;)==&amp;quot;view&amp;quot;){&lt;br /&gt;
			//如果是閱讀模式&lt;br /&gt;
			&lt;br /&gt;
			//加一個源碼頁籤在編輯頁籤後面，源碼連結加載viewsource查詢字串&lt;br /&gt;
			var displayText=conv({ hans: &amp;quot;查看源代码&amp;quot;, hant: &amp;quot;檢視原始碼&amp;quot; }), $goodCaEdit;&lt;br /&gt;
			&lt;br /&gt;
			(&lt;br /&gt;
				$goodCaEdit=$(&amp;quot;li#ca-edit:has(a[href*=&amp;#039;action=edit&amp;#039;])&amp;quot;)&lt;br /&gt;
				.filter(function(idx){&lt;br /&gt;
					return ($(this).text().match(/[編编][輯辑]/g)!==null &amp;amp;&amp;amp; (&amp;quot;&amp;quot;+this.href).match(/veaction\=edit/)===null );&lt;br /&gt;
				})&lt;br /&gt;
				.eq(0)&lt;br /&gt;
			)&lt;br /&gt;
			.clone(true)&lt;br /&gt;
			.attr(&amp;quot;id&amp;quot;, &amp;quot;ca-viewsource&amp;quot;)&lt;br /&gt;
			.insertAfter($goodCaEdit)&lt;br /&gt;
			.find(&amp;quot;a[href*=&amp;#039;action=edit&amp;#039;]&amp;quot;)&lt;br /&gt;
			.text(displayText)&lt;br /&gt;
			.attr(&amp;quot;title&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
			.each(function(){&lt;br /&gt;
				$(this).attr(&amp;quot;href&amp;quot;, $(this).attr(&amp;quot;href&amp;quot;)+&amp;quot;&amp;amp;viewsource=1&amp;quot;);&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
			//在各個編輯段落連結後面都加一個源碼連結，源碼連結在得到焦點時加載viewsource查詢字串&lt;br /&gt;
			$(&amp;quot;span.mw-editsection a[href*=&amp;#039;&amp;amp;action=edit&amp;#039;]&amp;quot;)&lt;br /&gt;
			.each(function(){&lt;br /&gt;
				var $this=$(this);&lt;br /&gt;
				if($this.text().match(/[編编][輯辑]/g)===null || $this.hasClass(&amp;quot;mw-editsection-visualeditor&amp;quot;)) return;&lt;br /&gt;
				&lt;br /&gt;
				$this.clone(true)&lt;br /&gt;
				.text(displayText)&lt;br /&gt;
				.attr(&amp;quot;title&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
				.insertAfter($this)&lt;br /&gt;
				.get(0).href+=&amp;quot;&amp;amp;viewsource=1&amp;quot;;&lt;br /&gt;
				&lt;br /&gt;
				$(document.createTextNode(&amp;quot;/&amp;quot;)).insertAfter($this);&lt;br /&gt;
			});&lt;br /&gt;
			&lt;br /&gt;
		}else if(mw.config.get(&amp;#039;wgAction&amp;#039;)==&amp;quot;edit&amp;quot; &amp;amp;&amp;amp; getParamValue(&amp;quot;viewsource&amp;quot;)==1){&lt;br /&gt;
			//如果已進入源碼模式&lt;br /&gt;
			&lt;br /&gt;
			//先定義恢復正常編輯功能&lt;br /&gt;
			var resumeEditFunc=function(){&lt;br /&gt;
				var $viewSrcBodyContent=$(&amp;quot;div.viewSrcBodyContent#bodyContent&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				setTimeout( function(){&lt;br /&gt;
					$(&amp;quot;body&amp;quot;).css(&amp;quot;display&amp;quot;, &amp;quot;none&amp;quot;);&lt;br /&gt;
					&lt;br /&gt;
					setTimeout(function(){&lt;br /&gt;
						window.scrollTo(0,0);   //滾到最頂;&lt;br /&gt;
						&lt;br /&gt;
						$(&amp;quot;div.viewSrcBodyContent#bodyContent&amp;quot;).empty().remove();  //移除源碼模式界面;&lt;br /&gt;
						&lt;br /&gt;
						//復原標題&lt;br /&gt;
						document.title=old_title;&lt;br /&gt;
						$(&amp;quot;h1.firstHeading#firstHeading&amp;quot;).text(old_txt);&lt;br /&gt;
&lt;br /&gt;
						$(&amp;quot;li#ca-edit&amp;quot;).addClass(&amp;quot;selected&amp;quot;); //編輯頁籤改為已選取;&lt;br /&gt;
						$(&amp;quot;div.realBodyContent#bodyContent&amp;quot;).css(&amp;quot;display&amp;quot;, &amp;quot;inline&amp;quot;).removeClass(&amp;quot;realBodyContent&amp;quot;); //重新顯示編輯模式界面;&lt;br /&gt;
						&lt;br /&gt;
						$(&amp;quot;body&amp;quot;).css(&amp;quot;display&amp;quot;, &amp;quot;inline&amp;quot;);&lt;br /&gt;
					}, 500*resumeEditFunc.msec);&lt;br /&gt;
				}, 300*resumeEditFunc.msec);&lt;br /&gt;
				&lt;br /&gt;
				return false;&lt;br /&gt;
			};&lt;br /&gt;
			resumeEditFunc.msec=1;&lt;br /&gt;
			//定義恢復正常編輯功能 結束;&lt;br /&gt;
			&lt;br /&gt;
			//偵測編輯框及是否為可編輯操作&lt;br /&gt;
			//如皆否，恢復編輯界面並離開本功能&lt;br /&gt;
			var $wpTextbox1=$(&amp;quot;form#editform[name=&amp;#039;editform&amp;#039;] textarea#wpTextbox1[name=&amp;#039;wpTextbox1&amp;#039;]&amp;quot;);&lt;br /&gt;
			if( $(&amp;quot;form#editform[name=&amp;#039;editform&amp;#039;] input#wpDiff[name=&amp;#039;wpDiff&amp;#039;]&amp;quot;).length&amp;gt;0 &amp;amp;&amp;amp; $wpTextbox1.length&amp;gt;0){&lt;br /&gt;
			}else{&lt;br /&gt;
				resumeEditFunc.msec=0.01;&lt;br /&gt;
				resumeEditFunc();&lt;br /&gt;
				return null;&lt;br /&gt;
			}&lt;br /&gt;
			&lt;br /&gt;
			//如果以上皆是&lt;br /&gt;
			$(&amp;quot;li#ca-edit&amp;quot;).removeClass(&amp;quot;selected&amp;quot;); //編輯頁籤改為未選取;&lt;br /&gt;
			//建立源碼模式界面&lt;br /&gt;
			$(&amp;#039;&amp;lt;div id=&amp;quot;bodyContent&amp;quot; class=&amp;quot;viewSrcBodyContent&amp;quot; /&amp;gt;&amp;#039;)&lt;br /&gt;
			.append(&lt;br /&gt;
				$(&amp;#039;&amp;lt;p&amp;gt;您可以&amp;#039;+conv({ hans: &amp;quot;查看并复制本页面的源代码&amp;quot;, hant: &amp;quot;檢視並複製本頁面的原始碼&amp;quot; })+&amp;#039;：&amp;lt;/p&amp;gt;&amp;#039;)&lt;br /&gt;
				.append([&amp;quot;[&amp;quot;, $(&amp;#039;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;&amp;#039;+conv({ hans: &amp;quot;开始编辑&amp;quot;, hant: &amp;quot;開始編輯&amp;quot; })+&amp;#039;&amp;lt;/a&amp;gt;&amp;#039;).click(resumeEditFunc), &amp;quot;]&amp;quot;])&lt;br /&gt;
			)&lt;br /&gt;
			.append($wpTextbox1.clone().attr(&amp;quot;readonly&amp;quot;, true))&lt;br /&gt;
			.append($(&amp;#039;&amp;lt;p id=&amp;quot;mw-returnto&amp;quot;&amp;gt;返回到&amp;lt;a href=&amp;quot;&amp;#039;+mw.config.get(&amp;#039;wgArticlePath&amp;#039;).replace(&amp;#039;$1&amp;#039;, mw.util.rawurlencode(mw.config.get(&amp;#039;wgPageName&amp;#039;)))+&amp;#039;&amp;quot; title=&amp;quot;&amp;#039;+mw.config.get(&amp;#039;wgPageName&amp;#039;)+&amp;#039;&amp;quot;&amp;gt;&amp;#039;+mw.config.get(&amp;#039;wgPageName&amp;#039;)+&amp;#039;&amp;lt;/a&amp;gt;。&amp;lt;/p&amp;gt;&amp;#039;))&lt;br /&gt;
			.insertAfter($(&amp;quot;div.realBodyContent#bodyContent&amp;quot;));&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
	});&lt;br /&gt;
	//載入完成後執行段 結束&lt;br /&gt;
	&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
$(function(){&lt;br /&gt;
	$(&amp;quot;body&amp;quot;).css(&amp;quot;display&amp;quot;, &amp;quot;block&amp;quot;);&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>imported&gt;Diskdance</name></author>
	</entry>
</feed>