<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://linguifex.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-ReferenceTooltips.js</id>
	<title>MediaWiki:Gadget-ReferenceTooltips.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://linguifex.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-ReferenceTooltips.js"/>
	<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=MediaWiki:Gadget-ReferenceTooltips.js&amp;action=history"/>
	<updated>2026-04-06T21:38:06Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://linguifex.com/w/index.php?title=MediaWiki:Gadget-ReferenceTooltips.js&amp;diff=475023&amp;oldid=prev</id>
		<title>Sware: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=MediaWiki:Gadget-ReferenceTooltips.js&amp;diff=475023&amp;oldid=prev"/>
		<updated>2025-11-04T17:52:25Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:52, 4 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Sware</name></author>
	</entry>
	<entry>
		<id>https://linguifex.com/w/index.php?title=MediaWiki:Gadget-ReferenceTooltips.js&amp;diff=462322&amp;oldid=prev</id>
		<title>Sware at 00:29, 10 July 2025</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=MediaWiki:Gadget-ReferenceTooltips.js&amp;diff=462322&amp;oldid=prev"/>
		<updated>2025-07-10T00:29:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://linguifex.com/w/index.php?title=MediaWiki:Gadget-ReferenceTooltips.js&amp;amp;diff=462322&amp;amp;oldid=462314&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Sware</name></author>
	</entry>
	<entry>
		<id>https://linguifex.com/w/index.php?title=MediaWiki:Gadget-ReferenceTooltips.js&amp;diff=462314&amp;oldid=prev</id>
		<title>Sware: Replaced content with &quot;if (document.querySelector(&quot;.reference&quot;) &amp;&amp; mw.config.values.skin !== &quot;minerva&quot;) { 	mw.loader.load(&#039;https://en.wikipedia.org/w/load.php?modules=ext.gadget.ReferenceTooltips&amp;only=scripts&#039;); 	mw.loader.load(&#039;https://en.wikipedia.org/w/load.php?modules=ext.gadget.ReferenceTooltips&amp;only=styles&#039;, &#039;text/css&#039;); }&quot;</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=MediaWiki:Gadget-ReferenceTooltips.js&amp;diff=462314&amp;oldid=prev"/>
		<updated>2025-07-10T00:01:50Z</updated>

		<summary type="html">&lt;p&gt;Replaced content with &amp;quot;if (document.querySelector(&amp;quot;.reference&amp;quot;) &amp;amp;&amp;amp; mw.config.values.skin !== &amp;quot;minerva&amp;quot;) { 	mw.loader.load(&amp;#039;https://en.wikipedia.org/w/load.php?modules=ext.gadget.ReferenceTooltips&amp;amp;only=scripts&amp;#039;); 	mw.loader.load(&amp;#039;https://en.wikipedia.org/w/load.php?modules=ext.gadget.ReferenceTooltips&amp;amp;only=styles&amp;#039;, &amp;#039;text/css&amp;#039;); }&amp;quot;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:01, 10 July 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Sware</name></author>
	</entry>
	<entry>
		<id>https://linguifex.com/w/index.php?title=MediaWiki:Gadget-ReferenceTooltips.js&amp;diff=475022&amp;oldid=prev</id>
		<title>wikt&gt;Ioaxxere: try this</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=MediaWiki:Gadget-ReferenceTooltips.js&amp;diff=475022&amp;oldid=prev"/>
		<updated>2024-08-15T02:37:51Z</updated>

		<summary type="html">&lt;p&gt;try this&lt;/p&gt;
&lt;a href=&quot;https://linguifex.com/w/index.php?title=MediaWiki:Gadget-ReferenceTooltips.js&amp;amp;diff=475022&amp;amp;oldid=14733&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>wikt&gt;Ioaxxere</name></author>
	</entry>
	<entry>
		<id>https://linguifex.com/w/index.php?title=MediaWiki:Gadget-ReferenceTooltips.js&amp;diff=14733&amp;oldid=prev</id>
		<title>Chrysophylax: Created page with &quot;// See mw:Reference Tooltips   window.pg || $(document).ready( function($) {       // Make sure we are in article, project, or help namespace     if ( wgCanonicalNamespace...&quot;</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=MediaWiki:Gadget-ReferenceTooltips.js&amp;diff=14733&amp;oldid=prev"/>
		<updated>2013-11-17T10:58:00Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;// See &lt;a href=&quot;http://www.mediawiki.org/wiki/Reference_Tooltips&quot; class=&quot;extiw&quot; title=&quot;mw:Reference Tooltips&quot;&gt;mw:Reference Tooltips&lt;/a&gt;   window.pg || $(document).ready( function($) {       // Make sure we are in article, project, or help namespace     if ( wgCanonicalNamespace...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;// See [[mw:Reference Tooltips]]&lt;br /&gt;
 &lt;br /&gt;
window.pg || $(document).ready( function($) {&lt;br /&gt;
 &lt;br /&gt;
    // Make sure we are in article, project, or help namespace&lt;br /&gt;
    if ( wgCanonicalNamespace === &amp;#039;&amp;#039; || wgCanonicalNamespace === &amp;#039;Project&amp;#039; || wgCanonicalNamespace === &amp;#039;Help&amp;#039; ) {&lt;br /&gt;
        function toggleRT(o){&lt;br /&gt;
            mw.loader.using(&amp;quot;jquery.cookie&amp;quot;,function(){&lt;br /&gt;
                    $.cookie(&amp;quot;RTsettings&amp;quot;,o+&amp;quot;|&amp;quot;+ settings[1] + &amp;quot;|&amp;quot; + settings[2], {path:&amp;quot;/&amp;quot;,expires:90});&lt;br /&gt;
                    location.reload();&lt;br /&gt;
            })&lt;br /&gt;
        }&lt;br /&gt;
        var settings = document.cookie.split(&amp;quot;RTsettings=&amp;quot;)[1];&lt;br /&gt;
        settings = settings ? settings.split(&amp;quot;;&amp;quot;)[0].split(&amp;quot;%7C&amp;quot;) : [1, 200, +(&amp;quot;ontouchstart&amp;quot; in document.documentElement)];&lt;br /&gt;
        if( settings[0] == 0 ) {&lt;br /&gt;
            var footer = $(&amp;quot;#footer-places, #f-list&amp;quot;);&lt;br /&gt;
            if( footer.length === 0 ) {&lt;br /&gt;
                    footer = $(&amp;quot;#footer li&amp;quot;).parent();&lt;br /&gt;
            }&lt;br /&gt;
            footer.append($(&amp;quot;&amp;lt;li&amp;gt;&amp;quot;).append($(&amp;quot;&amp;lt;a&amp;gt;&amp;quot;).text(&amp;quot;Enable Reference Tooltips&amp;quot;).attr(&amp;quot;href&amp;quot;,&amp;quot;javascript:(function(){})()&amp;quot;).click(function(){toggleRT(1)})));&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
        var isTouchscreen = +settings[2],&lt;br /&gt;
            timerLength = isTouchscreen ? 0 : +settings[1],&lt;br /&gt;
            settingsMenu;&lt;br /&gt;
        $(&amp;quot;.reference&amp;quot;).each( function() {&lt;br /&gt;
            var tooltipNode, hideTimer, showTimer, checkFlip = false;&lt;br /&gt;
            function findRef( h ){&lt;br /&gt;
                    h = h.firstChild.getAttribute(&amp;quot;href&amp;quot;); h = h &amp;amp;&amp;amp; h.split(&amp;quot;#&amp;quot;); h = h &amp;amp;&amp;amp; h[1];&lt;br /&gt;
                    h = h &amp;amp;&amp;amp; document.getElementById( h );&lt;br /&gt;
                    h = h &amp;amp;&amp;amp; h.nodeName == &amp;quot;LI&amp;quot; &amp;amp;&amp;amp; h;&lt;br /&gt;
                    return h;&lt;br /&gt;
            }&lt;br /&gt;
            function hide( refLink ){&lt;br /&gt;
                    if( tooltipNode &amp;amp;&amp;amp; tooltipNode.parentNode == document.body ) {&lt;br /&gt;
                            hideTimer = setTimeout( function() {&lt;br /&gt;
                                    $(tooltipNode).animate({opacity: 0}, 100, function(){ document.body.removeChild( tooltipNode ) })&lt;br /&gt;
                            }, isTouchscreen ? 16 : 100)&lt;br /&gt;
                    } else {&lt;br /&gt;
                            var h = findRef( refLink );&lt;br /&gt;
                            h &amp;amp;&amp;amp; (h.style.border = &amp;quot;&amp;quot;);&lt;br /&gt;
                    }&lt;br /&gt;
            }&lt;br /&gt;
            function show(){&lt;br /&gt;
                    if( !tooltipNode.parentNode || tooltipNode.parentNode.nodeType === 11 ){&lt;br /&gt;
                            document.body.appendChild( tooltipNode );&lt;br /&gt;
                            checkFlip = true;&lt;br /&gt;
                    }&lt;br /&gt;
                    $(tooltipNode).stop().animate({opacity: 1}, 100)&lt;br /&gt;
                    clearTimeout( hideTimer );&lt;br /&gt;
            }&lt;br /&gt;
            function openSettingsMenu(){&lt;br /&gt;
                    if( settingsMenu ) {&lt;br /&gt;
                            settingsMenu.dialog( &amp;quot;open&amp;quot; );&lt;br /&gt;
                    } else {&lt;br /&gt;
                            settingsMenu = $(&amp;quot;&amp;lt;form&amp;gt;&amp;quot;).append(&lt;br /&gt;
                                    $(&amp;quot;&amp;lt;button&amp;gt;&amp;quot;).css(&amp;quot;width&amp;quot;,&amp;quot;100%&amp;quot;).text(&amp;quot;Disable Reference Tooltips&amp;quot;).button().click(function(){toggleRT(0)}),&lt;br /&gt;
                                    $(&amp;quot;&amp;lt;br&amp;gt;&amp;quot;),&lt;br /&gt;
                                    $(&amp;quot;&amp;lt;small&amp;gt;&amp;quot;).text(&amp;quot;Once disabled, Reference Tooltips can be re-enabled using a link in the footer of the page.&amp;quot;),&lt;br /&gt;
                                    $(&amp;quot;&amp;lt;hr&amp;gt;&amp;quot;),&lt;br /&gt;
                                    $(&amp;quot;&amp;lt;label&amp;gt;&amp;quot;).text(&amp;quot;Delay before the tooltip appears (in milliseconds): &amp;quot;).append($(&amp;quot;&amp;lt;input&amp;gt;&amp;quot;).attr({&amp;quot;type&amp;quot;:&amp;quot;number&amp;quot;,&amp;quot;value&amp;quot;:settings[1],step:50,min:0,max:5000})),&lt;br /&gt;
                                    $(&amp;quot;&amp;lt;br&amp;gt;&amp;quot;),&lt;br /&gt;
                                    $(&amp;quot;&amp;lt;span&amp;gt;&amp;quot;).text(&amp;quot;Tooltip is activated by:&amp;quot;),&lt;br /&gt;
                                    $(&amp;quot;&amp;lt;label&amp;gt;&amp;quot;).append(&lt;br /&gt;
                                            $(&amp;quot;&amp;lt;input&amp;gt;&amp;quot;).attr({&amp;quot;type&amp;quot;:&amp;quot;radio&amp;quot;, &amp;quot;name&amp;quot;:&amp;quot;RTActivate&amp;quot;, &amp;quot;checked&amp;quot;:settings[2]==0&amp;amp;&amp;amp;&amp;quot;checked&amp;quot;, &amp;quot;disabled&amp;quot;:&amp;quot;ontouchstart&amp;quot; in document.documentElement&amp;amp;&amp;amp;&amp;quot;disabled&amp;quot;}),&lt;br /&gt;
                                            &amp;quot;hovering&amp;quot;&lt;br /&gt;
                                    ),&lt;br /&gt;
                                    $(&amp;quot;&amp;lt;label&amp;gt;&amp;quot;).append(&lt;br /&gt;
                                            $(&amp;quot;&amp;lt;input&amp;gt;&amp;quot;).attr({&amp;quot;type&amp;quot;:&amp;quot;radio&amp;quot;, &amp;quot;name&amp;quot;:&amp;quot;RTActivate&amp;quot;, &amp;quot;checked&amp;quot;:settings[2]==1&amp;amp;&amp;amp;&amp;quot;checked&amp;quot;}),&lt;br /&gt;
                                            &amp;quot;clicking&amp;quot;&lt;br /&gt;
                                    )&lt;br /&gt;
                            ).submit(function(e){e.preventDefault()}).dialog({modal:true,width:500,title:&amp;quot;Reference Tooltips options&amp;quot;,buttons:{&amp;quot;Save settings&amp;quot;:function(){&lt;br /&gt;
                                    var a = this.getElementsByTagName(&amp;quot;input&amp;quot;),&lt;br /&gt;
                                            b = +a[0].value;&lt;br /&gt;
                                    $.cookie(&amp;quot;RTsettings&amp;quot;,&amp;quot;1|&amp;quot;+ (b &amp;gt; -1 &amp;amp;&amp;amp; b &amp;lt; 5001 ? b : settings[1]) + (a[1].checked ? &amp;quot;|0&amp;quot; : &amp;quot;|1&amp;quot;), {path:&amp;quot;/&amp;quot;,expires:90});&lt;br /&gt;
                                    location.reload();&lt;br /&gt;
                            }}});&lt;br /&gt;
                    }&lt;br /&gt;
            }&lt;br /&gt;
            $(this)[ isTouchscreen ? &amp;#039;click&amp;#039; : &amp;#039;hover&amp;#039; ](function( e ){&lt;br /&gt;
                    var _this = this;&lt;br /&gt;
                    if( isTouchscreen ) {&lt;br /&gt;
                            e.preventDefault();&lt;br /&gt;
                            (tooltipNode &amp;amp;&amp;amp; tooltipNode.parentNode == document.body) || setTimeout( function(){&lt;br /&gt;
                                    $( document.body ).on(&amp;quot;click touchstart&amp;quot;, function( e ) {&lt;br /&gt;
                                            e = e || event;&lt;br /&gt;
                                            e = e.target || e.srcElement;&lt;br /&gt;
                                            for( ; e &amp;amp;&amp;amp; !$( e ).hasClass( &amp;quot;referencetooltip&amp;quot; ) ; )&lt;br /&gt;
                                                    e = e.parentNode;&lt;br /&gt;
                                            if( !e ){&lt;br /&gt;
                                                    clearTimeout( showTimer );&lt;br /&gt;
                                                    hide( _this );&lt;br /&gt;
                                                    $(document.body).off(&amp;quot;click touchstart&amp;quot;, arguments.callee)&lt;br /&gt;
                                            }&lt;br /&gt;
                                    })&lt;br /&gt;
                            }, 0);&lt;br /&gt;
                    }&lt;br /&gt;
                    showTimer &amp;amp;&amp;amp; clearTimeout( showTimer );&lt;br /&gt;
                    showTimer = setTimeout( function() {&lt;br /&gt;
                            var h = findRef( _this );&lt;br /&gt;
                            if( !h ){return};&lt;br /&gt;
                            if( !isTouchscreen &amp;amp;&amp;amp; ( window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0 ) + $(window).height() &amp;gt; $( h ).offset().top + h.offsetHeight ) {&lt;br /&gt;
                                    h.style.border = &amp;quot;#080086 2px solid&amp;quot;;&lt;br /&gt;
                                    return;&lt;br /&gt;
                            }&lt;br /&gt;
                            if(!tooltipNode){&lt;br /&gt;
                                    tooltipNode = document.createElement(&amp;quot;ul&amp;quot;);&lt;br /&gt;
                                    tooltipNode.className = &amp;quot;referencetooltip&amp;quot;;&lt;br /&gt;
                                    var c = tooltipNode.appendChild( h.cloneNode( true ) );&lt;br /&gt;
                                    try {&lt;br /&gt;
                                            if( c.firstChild.nodeName != &amp;quot;A&amp;quot; ) {&lt;br /&gt;
                                                    while( c.childNodes[1].nodeName == &amp;quot;A&amp;quot; &amp;amp;&amp;amp; c.childNodes[1].getAttribute( &amp;quot;href&amp;quot; ).indexOf(&amp;quot;#cite_ref-&amp;quot;) !== -1 ) {&lt;br /&gt;
                                                            do { c.removeChild( c.childNodes[1] ) } while ( c.childNodes[1].nodeValue == &amp;quot; &amp;quot; );&lt;br /&gt;
                                                    }&lt;br /&gt;
                                            }&lt;br /&gt;
                                    } catch (e) { mw.log(e) }&lt;br /&gt;
                                    c.removeChild( c.firstChild );&lt;br /&gt;
                                    $( tooltipNode.firstChild.insertBefore( document.createElement( &amp;quot;span&amp;quot; ), tooltipNode.firstChild.firstChild ) ).addClass(&amp;quot;RTsettings&amp;quot;).attr(&amp;quot;title&amp;quot;, &amp;quot;Tooltip settings&amp;quot;).click(function(){&lt;br /&gt;
                                            mw.loader.using([&amp;quot;jquery.cookie&amp;quot;,&amp;quot;jquery.ui.dialog&amp;quot;], openSettingsMenu);&lt;br /&gt;
                                    })&lt;br /&gt;
                                    tooltipNode.appendChild( document.createElement( &amp;quot;li&amp;quot; ) );&lt;br /&gt;
                                    isTouchscreen || $(tooltipNode).hover(show, hide);&lt;br /&gt;
                            }&lt;br /&gt;
                            show();&lt;br /&gt;
                            var o = $(_this).offset(), oH = tooltipNode.offsetHeight;&lt;br /&gt;
                            $(tooltipNode).css({top: o.top - oH, left: o.left - 7 });&lt;br /&gt;
                            if( tooltipNode.offsetHeight &amp;gt; oH ) { // is it squished against the right side of the page?&lt;br /&gt;
                                    $(tooltipNode).css({left:&amp;#039;auto&amp;#039;,right:0});&lt;br /&gt;
                                    tooltipNode.lastChild.style.marginLeft = (o.left - tooltipNode.offsetLeft) + &amp;quot;px&amp;quot;;&lt;br /&gt;
                            }&lt;br /&gt;
                            if( checkFlip ) {&lt;br /&gt;
                                    if( o.top &amp;lt; tooltipNode.offsetHeight + ( window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0 ) ) { // is part of it above the top of the screen?&lt;br /&gt;
                                            $(tooltipNode).addClass(&amp;quot;RTflipped&amp;quot;).css({top: o.top + 12});&lt;br /&gt;
                                    } else if( tooltipNode.className === &amp;quot;referencetooltip RTflipped&amp;quot; ) { // cancel previous&lt;br /&gt;
                                            $(tooltipNode).removeClass(&amp;quot;RTflipped&amp;quot;);&lt;br /&gt;
                                    }&lt;br /&gt;
                                    checkFlip = false;&lt;br /&gt;
                            }&lt;br /&gt;
                    }, timerLength);&lt;br /&gt;
            }, isTouchscreen ? undefined : function(){clearTimeout(showTimer); hide(this); } )&lt;br /&gt;
 &lt;br /&gt;
        } );&lt;br /&gt;
 &lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
} );&lt;/div&gt;</summary>
		<author><name>Chrysophylax</name></author>
	</entry>
</feed>