<?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-friendlytalkback.js</id>
	<title>MediaWiki:Gadget-friendlytalkback.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-friendlytalkback.js"/>
	<link rel="alternate" type="text/html" href="https://zybkcn.com/w/index.php?title=MediaWiki:Gadget-friendlytalkback.js&amp;action=history"/>
	<updated>2026-05-04T07:26:41Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://zybkcn.com/w/index.php?title=MediaWiki:Gadget-friendlytalkback.js&amp;diff=26369&amp;oldid=prev</id>
		<title>鹿野耕云：​创建页面，内容为“// &lt;nowiki&gt;   (function($) {   /*  ****************************************  *** friendlytalkback.js: Talkback module  ****************************************  * Mode of invocation:     Tab (&quot;TB&quot;)  * Active on:              Any page with relevant user name (userspace, contribs, etc.)  * Config directives in:   FriendlyConfig  */  Twinkle.talkback = function() {  	if (!Morebits.wiki.flow.relevantUserName()) { 		return; 	}  	Twinkle.addPortletLink(Twinkle.talkba…”</title>
		<link rel="alternate" type="text/html" href="https://zybkcn.com/w/index.php?title=MediaWiki:Gadget-friendlytalkback.js&amp;diff=26369&amp;oldid=prev"/>
		<updated>2022-12-06T14:09:33Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“// &amp;lt;nowiki&amp;gt;   (function($) {   &lt;span class=&quot;autocomment&quot;&gt;****************************************  *** friendlytalkback.js: Talkback module  ****************************************  * Mode of invocation:     Tab (&amp;quot;TB&amp;quot;)  * Active on:              Any page with relevant user name (userspace, contribs, etc.)  * Config directives in:   FriendlyConfig：​&lt;/span&gt;  Twinkle.talkback = function() {  	if (!Morebits.wiki.flow.relevantUserName()) { 		return; 	}  	Twinkle.addPortletLink(Twinkle.talkba…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;// &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(function($) {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 ****************************************&lt;br /&gt;
 *** friendlytalkback.js: Talkback module&lt;br /&gt;
 ****************************************&lt;br /&gt;
 * Mode of invocation:     Tab (&amp;quot;TB&amp;quot;)&lt;br /&gt;
 * Active on:              Any page with relevant user name (userspace, contribs, etc.)&lt;br /&gt;
 * Config directives in:   FriendlyConfig&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback = function() {&lt;br /&gt;
&lt;br /&gt;
	if (!Morebits.wiki.flow.relevantUserName()) {&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	Twinkle.addPortletLink(Twinkle.talkback.callback, &amp;#039;通告&amp;#039;, &amp;#039;friendly-talkback&amp;#039;, wgULS(&amp;#039;回复通告&amp;#039;, &amp;#039;回覆通告&amp;#039;));&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback.callback = function() {&lt;br /&gt;
	if (Morebits.wiki.flow.relevantUserName() === mw.config.get(&amp;#039;wgUserName&amp;#039;) &amp;amp;&amp;amp; !confirm(wgULS(&amp;#039;您寂寞到了要自己回复自己的程度么？&amp;#039;, &amp;#039;您寂寞到了要自己回覆自己的程度麼？&amp;#039;))) {&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var Window = new Morebits.simpleWindow(600, 350);&lt;br /&gt;
	Window.setTitle(wgULS(&amp;#039;回复通告&amp;#039;, &amp;#039;回覆通告&amp;#039;));&lt;br /&gt;
	Window.setScriptName(&amp;#039;Twinkle&amp;#039;);&lt;br /&gt;
	Window.addFooterLink(wgULS(&amp;#039;关于{{talkback}}&amp;#039;, &amp;#039;關於{{talkback}}&amp;#039;), &amp;#039;Template:Talkback&amp;#039;);&lt;br /&gt;
	Window.addFooterLink(wgULS(&amp;#039;通告设置&amp;#039;, &amp;#039;通告設定&amp;#039;), &amp;#039;WP:TW/PREF#talkback&amp;#039;);&lt;br /&gt;
	Window.addFooterLink(wgULS(&amp;#039;Twinkle帮助&amp;#039;, &amp;#039;Twinkle說明&amp;#039;), &amp;#039;WP:TW/DOC#talkback&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
	var form = new Morebits.quickForm(Twinkle.talkback.evaluate);&lt;br /&gt;
&lt;br /&gt;
	form.append({ type: &amp;#039;radio&amp;#039;, name: &amp;#039;tbtarget&amp;#039;,&lt;br /&gt;
		list: [&lt;br /&gt;
			{&lt;br /&gt;
				label: wgULS(&amp;#039;回复：我的讨论页&amp;#039;, &amp;#039;回覆：我的討論頁&amp;#039;),&lt;br /&gt;
				value: &amp;#039;mytalk&amp;#039;,&lt;br /&gt;
				checked: &amp;#039;true&amp;#039;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				label: wgULS(&amp;#039;回复：其他用户的讨论页&amp;#039;, &amp;#039;回覆：其他使用者的討論頁&amp;#039;),&lt;br /&gt;
				value: &amp;#039;usertalk&amp;#039;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				label: wgULS(&amp;#039;回复：其它页面&amp;#039;, &amp;#039;回覆：其它頁面&amp;#039;),&lt;br /&gt;
				value: &amp;#039;other&amp;#039;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				label: wgULS(&amp;#039;邀请讨论&amp;#039;, &amp;#039;邀請討論&amp;#039;),&lt;br /&gt;
				value: &amp;#039;see&amp;#039;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				label: &amp;#039;通告板通知&amp;#039;,&lt;br /&gt;
				value: &amp;#039;notice&amp;#039;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				label: wgULS(&amp;#039;“有新邮件”&amp;#039;, &amp;#039;「有新郵件」&amp;#039;),&lt;br /&gt;
				value: &amp;#039;mail&amp;#039;&lt;br /&gt;
			}&lt;br /&gt;
		],&lt;br /&gt;
		event: Twinkle.talkback.changeTarget&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	form.append({&lt;br /&gt;
		type: &amp;#039;field&amp;#039;,&lt;br /&gt;
		label: &amp;#039;工作区&amp;#039;,&lt;br /&gt;
		name: &amp;#039;work_area&amp;#039;&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	var previewlink = document.createElement(&amp;#039;a&amp;#039;);&lt;br /&gt;
	$(previewlink).click(function() {&lt;br /&gt;
		Twinkle.talkback.preview(result);  // |result| is defined below&lt;br /&gt;
	});&lt;br /&gt;
	previewlink.style.cursor = &amp;#039;pointer&amp;#039;;&lt;br /&gt;
	previewlink.textContent = wgULS(&amp;#039;预览&amp;#039;, &amp;#039;預覽&amp;#039;);&lt;br /&gt;
	form.append({ type: &amp;#039;div&amp;#039;, id: &amp;#039;talkbackpreview&amp;#039;, label: [ previewlink ] });&lt;br /&gt;
	form.append({ type: &amp;#039;div&amp;#039;, id: &amp;#039;friendlytalkback-previewbox&amp;#039;, style: &amp;#039;display: none&amp;#039; });&lt;br /&gt;
&lt;br /&gt;
	form.append({ type: &amp;#039;submit&amp;#039; });&lt;br /&gt;
&lt;br /&gt;
	var result = form.render();&lt;br /&gt;
	Window.setContent(result);&lt;br /&gt;
	Window.display();&lt;br /&gt;
	result.previewer = new Morebits.wiki.preview($(result).find(&amp;#039;div#friendlytalkback-previewbox&amp;#039;).last()[0]);&lt;br /&gt;
&lt;br /&gt;
	// We must init the&lt;br /&gt;
	var evt = document.createEvent(&amp;#039;Event&amp;#039;);&lt;br /&gt;
	evt.initEvent(&amp;#039;change&amp;#039;, true, true);&lt;br /&gt;
	result.tbtarget[0].dispatchEvent(evt);&lt;br /&gt;
&lt;br /&gt;
	// Check whether the user has opted out from talkback&lt;br /&gt;
	var query = {&lt;br /&gt;
		action: &amp;#039;query&amp;#039;,&lt;br /&gt;
		prop: &amp;#039;extlinks&amp;#039;,&lt;br /&gt;
		titles: &amp;#039;User talk:&amp;#039; + Morebits.wiki.flow.relevantUserName(),&lt;br /&gt;
		elquery: &amp;#039;userjs.invalid/noTalkback&amp;#039;,&lt;br /&gt;
		ellimit: &amp;#039;1&amp;#039;&lt;br /&gt;
	};&lt;br /&gt;
	var wpapi = new Morebits.wiki.api(wgULS(&amp;#039;抓取退出通告信息&amp;#039;, &amp;#039;抓取退出通告資訊&amp;#039;), query, Twinkle.talkback.callback.optoutStatus);&lt;br /&gt;
	wpapi.post();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback.optout = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback.callback.optoutStatus = function(apiobj) {&lt;br /&gt;
	var $el = $(apiobj.getXML()).find(&amp;#039;el&amp;#039;);&lt;br /&gt;
	if ($el.length) {&lt;br /&gt;
		Twinkle.talkback.optout = Morebits.wiki.flow.relevantUserName() + wgULS(&amp;#039;不希望收到回复通告&amp;#039;, &amp;#039;不希望收到回覆通告&amp;#039;);&lt;br /&gt;
		var url = $el.text();&lt;br /&gt;
		var reason = mw.util.getParamValue(&amp;#039;reason&amp;#039;, url);&lt;br /&gt;
		Twinkle.talkback.optout += reason ? &amp;#039;：&amp;#039; + Morebits.string.appendPunctuation(reason) : &amp;#039;。&amp;#039;;&lt;br /&gt;
	}&lt;br /&gt;
	$(&amp;#039;#twinkle-talkback-optout-message&amp;#039;).text(Twinkle.talkback.optout);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var prev_page = &amp;#039;&amp;#039;;&lt;br /&gt;
var prev_section = &amp;#039;&amp;#039;;&lt;br /&gt;
var prev_message = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback.changeTarget = function(e) {&lt;br /&gt;
	var value = e.target.values;&lt;br /&gt;
	var root = e.target.form;&lt;br /&gt;
	var old_area = Morebits.quickForm.getElements(root, &amp;#039;work_area&amp;#039;)[0];&lt;br /&gt;
&lt;br /&gt;
	if (root.section) {&lt;br /&gt;
		prev_section = root.section.value;&lt;br /&gt;
	}&lt;br /&gt;
	if (root.message) {&lt;br /&gt;
		prev_message = root.message.value;&lt;br /&gt;
	}&lt;br /&gt;
	if (root.page) {&lt;br /&gt;
		prev_page = root.page.value;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var work_area = new Morebits.quickForm.element({&lt;br /&gt;
		type: &amp;#039;field&amp;#039;,&lt;br /&gt;
		label: wgULS(&amp;#039;回复通告信息&amp;#039;, &amp;#039;回覆通告資訊&amp;#039;),&lt;br /&gt;
		name: &amp;#039;work_area&amp;#039;&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	root.previewer.closePreview();&lt;br /&gt;
&lt;br /&gt;
	switch (value) {&lt;br /&gt;
		case &amp;#039;mytalk&amp;#039;:&lt;br /&gt;
			/* falls through */&lt;br /&gt;
		default:&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;div&amp;#039;,&lt;br /&gt;
				label: &amp;#039;&amp;#039;,&lt;br /&gt;
				style: &amp;#039;color: red&amp;#039;,&lt;br /&gt;
				id: &amp;#039;twinkle-talkback-optout-message&amp;#039;&lt;br /&gt;
			});&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;section&amp;#039;,&lt;br /&gt;
				label: wgULS(&amp;#039;章节（可选）&amp;#039;, &amp;#039;章節（可選）&amp;#039;),&lt;br /&gt;
				tooltip: wgULS(&amp;#039;您留言的章节标题，留空则不会产生章节链接。&amp;#039;, &amp;#039;您留言的章節標題，留空則不會產生章節連結。&amp;#039;),&lt;br /&gt;
				value: prev_section&lt;br /&gt;
			});&lt;br /&gt;
			break;&lt;br /&gt;
&lt;br /&gt;
		case &amp;#039;usertalk&amp;#039;:&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;div&amp;#039;,&lt;br /&gt;
				label: &amp;#039;&amp;#039;,&lt;br /&gt;
				style: &amp;#039;color: red&amp;#039;,&lt;br /&gt;
				id: &amp;#039;twinkle-talkback-optout-message&amp;#039;&lt;br /&gt;
			});&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;page&amp;#039;,&lt;br /&gt;
				label: wgULS(&amp;#039;用户（必填）&amp;#039;, &amp;#039;使用者（必填）&amp;#039;),&lt;br /&gt;
				tooltip: wgULS(&amp;#039;您留言页面的用户名，必填。&amp;#039;, &amp;#039;您留言頁面的使用者名稱，必填。&amp;#039;),&lt;br /&gt;
				value: prev_page,&lt;br /&gt;
				required: true&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;section&amp;#039;,&lt;br /&gt;
				label: wgULS(&amp;#039;章节（可选）&amp;#039;, &amp;#039;章節（可選）&amp;#039;),&lt;br /&gt;
				tooltip: wgULS(&amp;#039;您留言的章节标题，留空则不会产生章节链接。&amp;#039;, &amp;#039;您留言的章節標題，留空則不會產生章節連結。&amp;#039;),&lt;br /&gt;
				value: prev_section&lt;br /&gt;
			});&lt;br /&gt;
			break;&lt;br /&gt;
&lt;br /&gt;
		case &amp;#039;notice&amp;#039;:&lt;br /&gt;
			var noticeboard = work_area.append({&lt;br /&gt;
				type: &amp;#039;select&amp;#039;,&lt;br /&gt;
				name: &amp;#039;noticeboard&amp;#039;,&lt;br /&gt;
				label: &amp;#039;通告板：&amp;#039;&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			$.each(Twinkle.talkback.noticeboards, function(value, data) {&lt;br /&gt;
				noticeboard.append({&lt;br /&gt;
					type: &amp;#039;option&amp;#039;,&lt;br /&gt;
					label: data.label,&lt;br /&gt;
					value: value,&lt;br /&gt;
					selected: !!data.defaultSelected&lt;br /&gt;
				});&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;section&amp;#039;,&lt;br /&gt;
				label: wgULS(&amp;#039;章节（可选）&amp;#039;, &amp;#039;章節（可選）&amp;#039;),&lt;br /&gt;
				tooltip: wgULS(&amp;#039;章节标题，留空则不会产生章节链接。&amp;#039;, &amp;#039;章節標題，留空則不會產生章節連結。&amp;#039;),&lt;br /&gt;
				value: prev_section&lt;br /&gt;
			});&lt;br /&gt;
			break;&lt;br /&gt;
&lt;br /&gt;
		case &amp;#039;other&amp;#039;:&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;div&amp;#039;,&lt;br /&gt;
				label: &amp;#039;&amp;#039;,&lt;br /&gt;
				style: &amp;#039;color: red&amp;#039;,&lt;br /&gt;
				id: &amp;#039;twinkle-talkback-optout-message&amp;#039;&lt;br /&gt;
			});&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;page&amp;#039;,&lt;br /&gt;
				label: wgULS(&amp;#039;完整页面名&amp;#039;, &amp;#039;完整頁面名&amp;#039;),&lt;br /&gt;
				tooltip: wgULS(&amp;#039;您留下消息的完整页面名，比如“Wikipedia talk:Twinkle”。&amp;#039;, &amp;#039;您留下訊息的完整頁面名，比如「Wikipedia talk:Twinkle」。&amp;#039;),&lt;br /&gt;
				value: prev_page,&lt;br /&gt;
				required: true&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;section&amp;#039;,&lt;br /&gt;
				label: wgULS(&amp;#039;章节（可选）&amp;#039;, &amp;#039;章節（可選）&amp;#039;),&lt;br /&gt;
				tooltip: wgULS(&amp;#039;您留言的章节标题，留空则不会产生章节链接。&amp;#039;, &amp;#039;您留言的章節標題，留空則不會產生章節連結。&amp;#039;),&lt;br /&gt;
				value: prev_section&lt;br /&gt;
			});&lt;br /&gt;
			break;&lt;br /&gt;
&lt;br /&gt;
		case &amp;#039;mail&amp;#039;:&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;section&amp;#039;,&lt;br /&gt;
				label: wgULS(&amp;#039;电子邮件主题（可选）&amp;#039;, &amp;#039;電子郵件主題（可選）&amp;#039;),&lt;br /&gt;
				tooltip: wgULS(&amp;#039;您发出的电子邮件的主题。&amp;#039;, &amp;#039;您發出的電子郵件的主題。&amp;#039;)&lt;br /&gt;
			});&lt;br /&gt;
			break;&lt;br /&gt;
&lt;br /&gt;
		case &amp;#039;see&amp;#039;:&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;page&amp;#039;,&lt;br /&gt;
				label: wgULS(&amp;#039;完整页面名&amp;#039;, &amp;#039;完整頁面名&amp;#039;),&lt;br /&gt;
				tooltip: wgULS(&amp;#039;您留下消息的完整页面名，比如“Wikipedia talk:Twinkle”。&amp;#039;, &amp;#039;您留下訊息的完整頁面名，比如「Wikipedia talk:Twinkle」。&amp;#039;),&lt;br /&gt;
				value: prev_page,&lt;br /&gt;
				required: true&lt;br /&gt;
			});&lt;br /&gt;
			work_area.append({&lt;br /&gt;
				type: &amp;#039;input&amp;#039;,&lt;br /&gt;
				name: &amp;#039;section&amp;#039;,&lt;br /&gt;
				label: wgULS(&amp;#039;章节（可选）&amp;#039;, &amp;#039;章節（可選）&amp;#039;),&lt;br /&gt;
				tooltip: wgULS(&amp;#039;您留言的章节标题，留空则不会产生章节链接。&amp;#039;, &amp;#039;您留言的章節標題，留空則不會產生章節連結。&amp;#039;),&lt;br /&gt;
				value: prev_section&lt;br /&gt;
			});&lt;br /&gt;
			break;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if (value !== &amp;#039;notice&amp;#039;) {&lt;br /&gt;
		work_area.append({ type: &amp;#039;textarea&amp;#039;, label: wgULS(&amp;#039;附加信息（可选）：&amp;#039;, &amp;#039;附加資訊（可選）：&amp;#039;), name: &amp;#039;message&amp;#039;, tooltip: wgULS(&amp;#039;会在回复通告模板下出现的消息，您的签名会被加在最后。&amp;#039;, &amp;#039;會在回覆通告模板下出現的訊息，您的簽名會被加在最後。&amp;#039;) });&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	work_area = work_area.render();&lt;br /&gt;
	root.replaceChild(work_area, old_area);&lt;br /&gt;
	if (root.message) {&lt;br /&gt;
		root.message.value = prev_message;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$(&amp;#039;#twinkle-talkback-optout-message&amp;#039;).text(Twinkle.talkback.optout);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback.noticeboards = {&lt;br /&gt;
	affp: {&lt;br /&gt;
		label: &amp;#039;WP:AF/FP（&amp;#039; + wgULS(&amp;#039;防滥用过滤器/错误报告&amp;#039;, &amp;#039;防濫用過濾器/錯誤報告&amp;#039;) + &amp;#039;）&amp;#039;,&lt;br /&gt;
		title: wgULS(&amp;#039;过滤器错误报告有新回应&amp;#039;, &amp;#039;過濾器錯誤報告有新回應&amp;#039;),&lt;br /&gt;
		content: wgULS(&amp;#039;您的[[Wikipedia:防滥用过滤器/错误报告|过滤器错误报告]]已有回应，请前往查看。&amp;#039;, &amp;#039;您的[[Wikipedia:防滥用过滤器/错误报告|過濾器錯誤報告]]已有回應，請前往查看。&amp;#039;) + &amp;#039;--~~~~&amp;#039;,&lt;br /&gt;
		editSummary: wgULS(&amp;#039;有关[[Wikipedia:防滥用过滤器/错误报告]]的通知&amp;#039;, &amp;#039;有關[[Wikipedia:防滥用过滤器/错误报告]]的通知&amp;#039;),&lt;br /&gt;
		defaultSelected: true&lt;br /&gt;
	},&lt;br /&gt;
	sbl: {&lt;br /&gt;
		label: &amp;#039;Spam-blacklist&amp;#039;,&lt;br /&gt;
		title: wgULS(&amp;#039;垃圾链接黑名单请求有新回应&amp;#039;, &amp;#039;垃圾連結黑名單請求有新回應&amp;#039;),&lt;br /&gt;
		content: wgULS(&amp;#039;您的[[MediaWiki talk:Spam-blacklist|垃圾链接黑名单请求]]已有回应，请前往查看。&amp;#039;, &amp;#039;您的[[MediaWiki talk:Spam-blacklist|垃圾連結黑名單請求]]已有回應，請前往查看。&amp;#039;) + &amp;#039;--~~~~&amp;#039;,&lt;br /&gt;
		editSummary: wgULS(&amp;#039;有关[[MediaWiki talk:Spam-blacklist]]的通知&amp;#039;, &amp;#039;有關[[MediaWiki talk:Spam-blacklist]]的通知&amp;#039;)&lt;br /&gt;
	},&lt;br /&gt;
	shl: {&lt;br /&gt;
		label: &amp;#039;Spam-whitelist&amp;#039;,&lt;br /&gt;
		title: wgULS(&amp;#039;垃圾链接白名单请求有新回应&amp;#039;, &amp;#039;垃圾連結白名單請求有新回應&amp;#039;),&lt;br /&gt;
		content: wgULS(&amp;#039;您的[[MediaWiki talk:Spam-whitelist|垃圾链接白名单请求]]已有回应，请前往查看。&amp;#039;, &amp;#039;您的[[MediaWiki talk:Spam-whitelist|垃圾連結白名單請求]]已有回應，請前往查看。&amp;#039;) + &amp;#039;--~~~~&amp;#039;,&lt;br /&gt;
		editSummary: wgULS(&amp;#039;有关[[MediaWiki talk:Spam-whitelist]]的通知&amp;#039;, &amp;#039;有關[[MediaWiki talk:Spam-whitelist]]的通知&amp;#039;)&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback.evaluate = function(e) {&lt;br /&gt;
	var form = e.target;&lt;br /&gt;
	var tbtarget = form.getChecked(&amp;#039;tbtarget&amp;#039;)[0];&lt;br /&gt;
	var page, message;&lt;br /&gt;
	var section = form.section.value;&lt;br /&gt;
&lt;br /&gt;
	var editSummary;&lt;br /&gt;
	if (tbtarget === &amp;#039;notice&amp;#039;) {&lt;br /&gt;
		page = form.noticeboard.value;&lt;br /&gt;
		editSummary = Twinkle.talkback.noticeboards[page].editSummary;&lt;br /&gt;
	} else {&lt;br /&gt;
&lt;br /&gt;
		// usertalk, other, see&lt;br /&gt;
		page = form.page ? form.page.value : mw.config.get(&amp;#039;wgUserName&amp;#039;);&lt;br /&gt;
		if (form.message) {&lt;br /&gt;
			message = form.message.value.trim();&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (tbtarget === &amp;#039;mail&amp;#039;) {&lt;br /&gt;
			editSummary = wgULS(&amp;#039;通知：有新邮件&amp;#039;, &amp;#039;通知：有新郵件&amp;#039;);&lt;br /&gt;
		} else if (tbtarget === &amp;#039;see&amp;#039;) {&lt;br /&gt;
			editSummary = wgULS(&amp;#039;请看看&amp;#039;, &amp;#039;請看看&amp;#039;) + &amp;#039;[[:&amp;#039; + page + (section ? &amp;#039;#&amp;#039; + section : &amp;#039;&amp;#039;) + &amp;#039;]]&amp;#039; + wgULS(&amp;#039;上的讨论&amp;#039;, &amp;#039;上的討論&amp;#039;);&lt;br /&gt;
		} else {  // tbtarget one of mytalk, usertalk, other&lt;br /&gt;
			editSummary = wgULS(&amp;#039;回复通告&amp;#039;, &amp;#039;回覆通告&amp;#039;) + &amp;#039;（[[:&amp;#039;;&lt;br /&gt;
			if (tbtarget !== &amp;#039;other&amp;#039; &amp;amp;&amp;amp; !new RegExp(&amp;#039;^\\s*&amp;#039; + Morebits.namespaceRegex(3) + &amp;#039;:&amp;#039;, &amp;#039;i&amp;#039;).test(page)) {&lt;br /&gt;
				editSummary += &amp;#039;User talk:&amp;#039;;&lt;br /&gt;
			}&lt;br /&gt;
			editSummary += page + (section ? &amp;#039;#&amp;#039; + section : &amp;#039;&amp;#039;) + &amp;#039;]])&amp;#039;;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	Morebits.simpleWindow.setButtonsEnabled(false);&lt;br /&gt;
	Morebits.status.init(form);&lt;br /&gt;
&lt;br /&gt;
	var fullUserTalkPageName = mw.config.get(&amp;#039;wgFormattedNamespaces&amp;#039;)[mw.config.get(&amp;#039;wgNamespaceIds&amp;#039;).user_talk] + &amp;#039;:&amp;#039; + Morebits.wiki.flow.relevantUserName();&lt;br /&gt;
&lt;br /&gt;
	Morebits.wiki.actionCompleted.redirect = fullUserTalkPageName;&lt;br /&gt;
	Morebits.wiki.actionCompleted.notice = wgULS(&amp;#039;回复通告完成，将在几秒内刷新页面&amp;#039;, &amp;#039;回覆通告完成，將在幾秒內重新整理頁面&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
	Morebits.wiki.flow.check(fullUserTalkPageName, function () {&lt;br /&gt;
		var data = Twinkle.talkback.getNoticeWikitext(tbtarget, page, section, message);&lt;br /&gt;
		var title = data[1], content = data[2];&lt;br /&gt;
&lt;br /&gt;
		var flowpage = new Morebits.wiki.flow(fullUserTalkPageName, wgULS(&amp;#039;加入回复通告&amp;#039;, &amp;#039;加入回覆通告&amp;#039;));&lt;br /&gt;
		flowpage.setTopic(title);&lt;br /&gt;
		flowpage.setContent(content);&lt;br /&gt;
		flowpage.newTopic();&lt;br /&gt;
	}, function () {&lt;br /&gt;
		var text = &amp;#039;\n\n&amp;#039; + Twinkle.talkback.getNoticeWikitext(tbtarget, page, section, message)[0];&lt;br /&gt;
&lt;br /&gt;
		var talkpage = new Morebits.wiki.page(fullUserTalkPageName, wgULS(&amp;#039;加入回复通告&amp;#039;, &amp;#039;加入回覆通告&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
		talkpage.setEditSummary(editSummary);&lt;br /&gt;
		talkpage.setChangeTags(Twinkle.changeTags);&lt;br /&gt;
		talkpage.setAppendText(text);&lt;br /&gt;
		talkpage.setCreateOption(&amp;#039;recreate&amp;#039;);&lt;br /&gt;
		talkpage.setMinorEdit(Twinkle.getPref(&amp;#039;markTalkbackAsMinor&amp;#039;));&lt;br /&gt;
		talkpage.setFollowRedirect(true);&lt;br /&gt;
		talkpage.append();&lt;br /&gt;
	});&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback.preview = function(form) {&lt;br /&gt;
	var tbtarget = form.getChecked(&amp;#039;tbtarget&amp;#039;)[0];&lt;br /&gt;
	var section = form.section.value;&lt;br /&gt;
	var page, message;&lt;br /&gt;
&lt;br /&gt;
	if (tbtarget === &amp;#039;notice&amp;#039;) {&lt;br /&gt;
		page = form.noticeboard.value;&lt;br /&gt;
	} else {&lt;br /&gt;
		// usertalk, other, see&lt;br /&gt;
		page = form.page ? form.page.value : mw.config.get(&amp;#039;wgUserName&amp;#039;);&lt;br /&gt;
		if (form.message) {&lt;br /&gt;
			message = form.message.value.trim();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var noticetext = Twinkle.talkback.getNoticeWikitext(tbtarget, page, section, message)[0];&lt;br /&gt;
	form.previewer.beginRender(noticetext, &amp;#039;User_talk:&amp;#039; + Morebits.wiki.flow.relevantUserName()); // Force wikitext/correct username&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.talkback.getNoticeWikitext = function(tbtarget, page, section, message) {&lt;br /&gt;
	var text;&lt;br /&gt;
	var title, content;&lt;br /&gt;
	if (tbtarget === &amp;#039;notice&amp;#039;) {&lt;br /&gt;
		title = Twinkle.talkback.noticeboards[page].title;&lt;br /&gt;
		content = Morebits.string.safeReplace(Twinkle.talkback.noticeboards[page].content, &amp;#039;$SECTION&amp;#039;, section);&lt;br /&gt;
		text = &amp;#039;== &amp;#039; + title + &amp;#039; ==\n&amp;#039; + content;&lt;br /&gt;
	} else if (tbtarget === &amp;#039;see&amp;#039;) {&lt;br /&gt;
		title = page + wgULS(&amp;#039;的相关讨论&amp;#039;, &amp;#039;的相關討論&amp;#039;);&lt;br /&gt;
		content = &amp;#039;{{subst:Please see|location=&amp;#039; + page + (section ? &amp;#039;#&amp;#039; + section : &amp;#039;&amp;#039;) + &amp;#039;|more=&amp;#039; + message.trim() + &amp;#039;}}&amp;#039;;&lt;br /&gt;
		text = &amp;#039;{{subst:Please see|location=&amp;#039; + page + (section ? &amp;#039;#&amp;#039; + section : &amp;#039;&amp;#039;) + &amp;#039;|more=&amp;#039; + message.trim() + &amp;#039;}}&amp;#039;;&lt;br /&gt;
	} else {&lt;br /&gt;
		text = &amp;#039;==&amp;#039;;&lt;br /&gt;
		if (tbtarget === &amp;#039;mail&amp;#039;) {&lt;br /&gt;
			title = Twinkle.getPref(&amp;#039;mailHeading&amp;#039;);&lt;br /&gt;
			content = &amp;quot;{{You&amp;#039;ve got mail|subject=&amp;quot; + section + &amp;#039;|ts=~~~~~}}&amp;#039;;&lt;br /&gt;
			text += Twinkle.getPref(&amp;#039;mailHeading&amp;#039;) + &amp;#039;==\n&amp;#039; + &amp;quot;{{You&amp;#039;ve got mail|subject=&amp;quot; + section;&lt;br /&gt;
		} else {  // tbtarget one of mytalk, usertalk, other&lt;br /&gt;
			// clean talkback heading: strip section header markers that were erroneously suggested in the documentation&lt;br /&gt;
			title = Twinkle.getPref(&amp;#039;talkbackHeading&amp;#039;).replace(/^\s*=+\s*(.*?)\s*=+$\s*/, &amp;#039;$1&amp;#039;);&lt;br /&gt;
			content = &amp;#039;{{talkback|&amp;#039; + page + (section ? &amp;#039;|&amp;#039; + section : &amp;#039;&amp;#039;);&lt;br /&gt;
			text += Twinkle.getPref(&amp;#039;talkbackHeading&amp;#039;).replace(/^\s*=+\s*(.*?)\s*=+$\s*/, &amp;#039;$1&amp;#039;) +&lt;br /&gt;
				&amp;#039;==\n&amp;#039; + &amp;#039;{{talkback|&amp;#039; + page + (section ? &amp;#039;|&amp;#039; + section : &amp;#039;&amp;#039;);&lt;br /&gt;
		}&lt;br /&gt;
		content += &amp;#039;|ts=~~~~~}}&amp;#039;;&lt;br /&gt;
		text += &amp;#039;|ts=~~~~~}}&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
		if (message) {&lt;br /&gt;
			content += &amp;#039;\n&amp;#039; + message;&lt;br /&gt;
			text += &amp;#039;\n&amp;#039; + message + &amp;#039;  ~~~~&amp;#039;;&lt;br /&gt;
		} else if (Twinkle.getPref(&amp;#039;insertTalkbackSignature&amp;#039;)) {&lt;br /&gt;
			text += &amp;#039;\n~~~~&amp;#039;;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	return [text, title, content];&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.addInitCallback(Twinkle.talkback, &amp;#039;talkback&amp;#039;);&lt;br /&gt;
})(jQuery);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>鹿野耕云</name></author>
	</entry>
</feed>