<?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-CollapsibleToggle.js</id>
	<title>MediaWiki:Gadget-CollapsibleToggle.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-CollapsibleToggle.js"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=MediaWiki:Gadget-CollapsibleToggle.js&amp;action=history"/>
	<updated>2026-07-17T09:36:44Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=MediaWiki:Gadget-CollapsibleToggle.js&amp;diff=4511856&amp;oldid=prev</id>
		<title>imported&gt;Shizhao：​ep</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=MediaWiki:Gadget-CollapsibleToggle.js&amp;diff=4511856&amp;oldid=prev"/>
		<updated>2024-10-14T03:44:38Z</updated>

		<summary type="html">&lt;p&gt;ep&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;
 * |                      === WARNING: GLOBAL GADGET FILE ===                        |&lt;br /&gt;
 * |                    Changes to this page affect many users.                      |&lt;br /&gt;
 * |  Please discuss changes on the talk page, [[WP:VPT]] or GitHub before editing.  |&lt;br /&gt;
 * |_________________________________________________________________________________|&lt;br /&gt;
 *&lt;br /&gt;
 * CollapsibleToggle.js&lt;br /&gt;
 * 早期的 NavFrame 替代產品，使用後可以如同 NavFrame 點 Head 展開或關閉&lt;br /&gt;
 * &lt;br /&gt;
 * @author [[User:SunAfterRain]]&lt;br /&gt;
 * @license BSD 3-Clause&lt;br /&gt;
 */&lt;br /&gt;
// &amp;lt;nowiki&amp;gt;&lt;br /&gt;
$(() =&amp;gt; {&lt;br /&gt;
	const HEAD_KEY = &amp;#039;CollapsibleToggle.head&amp;#039;;&lt;br /&gt;
	const DATA_KEY = &amp;#039;CollapsibleToggle.data&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	const CLASS_SELECTOR = &amp;#039;.collapsible-title&amp;#039;;&lt;br /&gt;
	const IGNORE_TRIGGER_SELECTOR = &amp;#039;a, button, .mw-collapsible-toggle, .collapsible-toggle-ignore&amp;#039;;&lt;br /&gt;
	&lt;br /&gt;
	function collapsibleGetHead($collapsible) {&lt;br /&gt;
		let $element;&lt;br /&gt;
		if ($collapsible.is(&amp;#039;table&amp;#039;)) {&lt;br /&gt;
			// If the table has a caption, collapse to the caption&lt;br /&gt;
			// as opposed to the first row&lt;br /&gt;
			const $caption = $collapsible.find( &amp;#039;&amp;gt; caption&amp;#039; );&lt;br /&gt;
			if ($caption.length) {&lt;br /&gt;
				$element = $caption;&lt;br /&gt;
			} else {&lt;br /&gt;
				const $tr = $collapsible.find(&amp;#039;tr&amp;#039;).first();&lt;br /&gt;
				if ($tr.is(CLASS_SELECTOR)) {&lt;br /&gt;
					return $tr;&lt;br /&gt;
				}&lt;br /&gt;
				$element = $tr.find(&amp;#039;th, td&amp;#039;);&lt;br /&gt;
			}&lt;br /&gt;
		} else if ($collapsible.is(&amp;#039;ul&amp;#039;) || $collapsible.is(&amp;#039;ol&amp;#039;)) {&lt;br /&gt;
			// The toggle-link will be in the first list-item&lt;br /&gt;
			$element = $collapsible.find( &amp;#039;li&amp;#039; ).first();&lt;br /&gt;
		} else {&lt;br /&gt;
			$element = $collapsible.children();&lt;br /&gt;
		}&lt;br /&gt;
		return $element.filter(CLASS_SELECTOR);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function initCollapsibleToggle(element) {&lt;br /&gt;
		const $element = $(element);&lt;br /&gt;
		let $head = collapsibleGetHead($element);&lt;br /&gt;
		if (!$head.length) {&lt;br /&gt;
			$head = $element.parent(CLASS_SELECTOR);&lt;br /&gt;
		}&lt;br /&gt;
		const mwCollapsibleData = $element.data(&amp;#039;mwCollapsible&amp;#039;);&lt;br /&gt;
		if (&lt;br /&gt;
			!$element.hasClass(&amp;#039;mw-collapsible&amp;#039;)&lt;br /&gt;
			|| ($element.attr(&amp;#039;id&amp;#039;) || &amp;#039;&amp;#039;).startsWith(&amp;#039;mw-customcollapsible-&amp;#039;)&lt;br /&gt;
			|| $element.hasClass(&amp;#039;gadget-collapsible-toggle-optout&amp;#039;)&lt;br /&gt;
			|| !$element.data(&amp;#039;mwMadeCollapsible&amp;#039;)&lt;br /&gt;
			|| !mwCollapsibleData&lt;br /&gt;
			|| !$head.length&lt;br /&gt;
			|| !!$element.data(DATA_KEY)&lt;br /&gt;
		) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$element.addClass(&amp;#039;gadget-collapsible-toggle&amp;#039;);&lt;br /&gt;
		$head&lt;br /&gt;
			.on(&amp;#039;mousedown&amp;#039;, (e) =&amp;gt; {&lt;br /&gt;
				// https://commons.wikimedia.org/wiki/MediaWiki:Gadget-CollapsibleTemplates.js?oldid=458731733#L47&lt;br /&gt;
				const $target = $(e.target);&lt;br /&gt;
				if ($target.is(IGNORE_TRIGGER_SELECTOR) || $target.parents(IGNORE_TRIGGER_SELECTOR).length) {&lt;br /&gt;
					return true;&lt;br /&gt;
				}&lt;br /&gt;
				mwCollapsibleData.toggle();&lt;br /&gt;
				return false;&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
		$head.data(HEAD_KEY, true);&lt;br /&gt;
		$element.data(DATA_KEY, {&lt;br /&gt;
			mwCollapsibleData&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function initCollapsibleToggleWrapper($frame) {&lt;br /&gt;
		for (const frame of $frame.get()) {&lt;br /&gt;
			initCollapsibleToggle(frame);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	if (typeof $.fn.makeCollapsible === &amp;#039;function&amp;#039;) {&lt;br /&gt;
		initCollapsibleToggleWrapper($(&amp;#039;.mw-collapsible&amp;#039;));&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	mw.hook(&amp;#039;wikipage.collapsibleContent&amp;#039;).add(initCollapsibleToggleWrapper);&lt;br /&gt;
	mw.hook(&amp;#039;ext.gadget.CollapsibleToggle&amp;#039;).add(initCollapsibleToggleWrapper);&lt;br /&gt;
});&lt;br /&gt;
// &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>imported&gt;Shizhao</name></author>
	</entry>
</feed>