User:Interiot/js/RealTitle.js: Difference between revisions

Content deleted Content added
No edit summary
start working on the bulletproof isPasteable verification
Line 1:
// copied from http://fr.wikipedia.org/w/index.php?title=-&action=raw&gen=js
 
// The function looks for a banner like that:
// <div id="RealTitleBanner">Div that is hidden
Line 9 ⟶ 7:
try {
var realTitleBanner = document.getElementById("RealTitleBanner");
if (realTitleBanner && !document.getElementById("DisableRealTitle")) {
var isPastable = 1; // is it spelled "pasteable"?
var realTitle = document.getElementById("RealTitle");
if (!realTitleBanner) {
if (realTitle) {
isPastable = 0;
var isPasteable = 0;
realTitleBanner = document.getElementById("RealTitleBannerUnpastable");
var hadNamespace = 0;
}
if (realTitleBanner) {
// calculate whether the title is pasteable
if (!document.getElementById("DisableRealTitle")) {
var verifyTitle = realTitle.replace(/^ +/, ""); // trim left spaces
var realTitle = document.getElementById("RealTitle");
verifyTitle = verifyTitle.replace(/ /g, "_"); // spaces to underscores
if (realTitle) {
verifyTitle = verifyTitle.charAt(0).toUpperCase() + verifyTitle.substring(1, verifyTitle.length); // uppercase first character
var h1 = document.getElementsByTagName("h1")[0];
 
if (isPastable && h1) {
// if the namespace prefix is there, remove it on our verification copy. If it isn't there, add it to the original realValue copy.
h1.innerHTML = realTitle.innerHTML;
if (wgNamespaceNumber != 0) {
realTitleBanner.style.display = "none";
if (wgCanonicalNamespace == verifyTitle.substr(0, wgCanonicalNamespace.length) && verifyTitle.charAt(wgCanonicalNamespace.length) == ":") {
hadNamespace = 1;
verifyTitle = verifyTitle.substr(wgCanonicalNamespace.length + 1);
} else {
realTitle = wgCanonicalNamespace.replace(/_/g, " ") + ":" + realTitle;
}
document.title = realTitle.innerHTML + " - Wikipedia, the free encyclopedia";
}
 
// verify whether wgTitle matches
var verifyTitle = realTitle.replace(/^_+/, "").replace(/_+$/, ""); // trim left and right spaces
verifyTitle = verifyTitle.charAt(0).toUpperCase() + verifyTitle.substring(1, verifyTitle.length); // uppercase first character
isPasteable = (verifyTitle == wgTitle);
 
var h1 = document.getElementsByTagName("h1")[0];
if (isPastableh1 && h1isPasteable) {
h1.innerHTML = realTitle.innerHTML;
realTitleBanner.style.display = "none";
}
document.title = realTitle.innerHTML + " - Wikipedia, the free encyclopedia";
}
}