コンテンツにスキップ

利用者:Aokomoriuta/TechnicalRestrictionsTitleFix.js

お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。

多くの WindowsLinux のブラウザ

  • Ctrl を押しながら F5 を押す。

Mac における Safari

  • Shift を押しながら、更新ボタン をクリックする。

Mac における ChromeFirefox

  • Cmd Shift を押しながら R を押す。

詳細についてはWikipedia:キャッシュを消すをご覧ください。

/** "Technical restrictions" title fix *****************************************
 *
 *  Description:
 *  Maintainers: [[en:User:Interiot]], [[en:User:Mets501]]
 */
// For pages that have something like Template:Lowercase, replace the title, but only if it is cut-and-pasteable as a valid wikilink.
//	(for instance [[iPod]]'s title is updated.  <nowiki>But [[C#]] is not an equivalent wikilink, so [[C Sharp]] doesn't have its main title changed)</nowiki>
//
// The function looks for a banner like this: <nowiki>
// <div id="RealTitleBanner">    <!-- div that gets hidden -->
//   <span id="RealTitle">title</span>
// </div>
// </nowiki>An element with id=DisableRealTitle disables the function.
var disableRealTitle = 0; // users can disable this by making this true from their monobook.js
if (wgIsArticle) 
{ // don't display the RealTitle when editing, since it is apparently inconsistent (doesn't show when editing sections, doesn't show when not previewing)
	addOnloadHook(function()
	{
		try 
		{
			var realTitleBanner = document.getElementById("RealTitleBanner");
			if (realTitleBanner && !document.getElementById("DisableRealTitle") && !disableRealTitle) 
			{
				var realTitle = document.getElementById("RealTitle");
				if (realTitle) 
				{
					var realTitleHTML = realTitle.innerHTML;
					realTitleText = pickUpText(realTitle);
					
					var isPasteable = 0;
					//var containsHTML = /</.test(realTitleHTML);	// contains ANY HTML
					var containsTooMuchHTML = /</.test(realTitleHTML.replace(/<\/?(sub|sup|small|big)>/gi, "")); // contains HTML that will be ignored when cut-n-pasted as a wikilink
					// calculate whether the title is pasteable
					var verifyTitle = realTitleText.replace(/^ +/, ""); // trim left spaces
					verifyTitle = verifyTitle.charAt(0).toUpperCase() + verifyTitle.substring(1, verifyTitle.length); // uppercase first character
					// if the namespace prefix is there, remove it on our verification copy.  If it isn't there, add it to the original realValue copy.
					if (wgNamespaceNumber != 0) 
					{
						if (wgCanonicalNamespace == verifyTitle.substr(0, wgCanonicalNamespace.length).replace(/ /g, "_") && verifyTitle.charAt(wgCanonicalNamespace.length) == ":") 
						{
							verifyTitle = verifyTitle.substr(wgCanonicalNamespace.length + 1);
						}
						else 
						{
							realTitleText = wgCanonicalNamespace.replace(/_/g, " ") + ":" + realTitleText;
							realTitleHTML = wgCanonicalNamespace.replace(/_/g, " ") + ":" + realTitleHTML;
						}
					}
					
					// verify whether wgTitle matches
					verifyTitle = verifyTitle.replace(/^ +/, "").replace(/ +$/, ""); // trim left and right spaces
					verifyTitle = verifyTitle.replace(/_/g, " "); // underscores to spaces
					verifyTitle = verifyTitle.charAt(0).toUpperCase() + verifyTitle.substring(1, verifyTitle.length); // uppercase first character
					isPasteable = (verifyTitle == wgTitle);
					
					var h1 = document.getElementsByTagName("h1")[0];
					if (h1 && isPasteable) 
					{
						h1.innerHTML = containsTooMuchHTML ? realTitleText : realTitleHTML;
						if (!containsTooMuchHTML) 
							realTitleBanner.style.display = "none";
					}
					document.title = realTitleText + " - Wikipedia";
				}
			}
		} 
		catch (e) 
		{
			/* Something went wrong. */
		}
	});
}