MediaWiki:Common.js: Difference between revisions
No edit summary |
No edit summary Tag: Manual revert |
||
(29 intermediate revisions by the same user not shown) | |||
Line 12: | Line 12: | ||
}); | }); | ||
} | } | ||
/* tabindex="-1" is not allowed by MediaWiki, this is a workaround */ | |||
findAndExecute(".rgwiki-main-negative-tabindex", (element) => { | |||
element.tabIndex = -1; | |||
}); | |||
/* Links without href/links to "javascript:void(0)" are not allowed by MediaWiki, this is a workaround */ | |||
/* Use Template:EmptyLink to activate this piece of code. */ | |||
findAndExecute(".rgwiki-main-emptylink", (span) => { | |||
const a = span.querySelector("a"); | |||
for (const className of span.classList) { | |||
if (className !== "rgwiki-main-emptylink") { | |||
a.classList.add(className); | |||
} | |||
} | |||
a.href = "javascript:void(0)"; | |||
const parent = span.parentNode; | |||
parent.replaceChild(a, span); | |||
}); | |||
/* Localized date */ | /* Localized date */ | ||
Line 19: | Line 38: | ||
const outputDateString = date.toString(); | const outputDateString = date.toString(); | ||
span.title = `This date in your timezone: ${outputDateString}`; | span.title = `This date in your timezone: ${outputDateString}`; | ||
} | }); | ||
const | /* OS tabs */ | ||
findAndExecute(".tabber.rgwiki-main-os-tabber", (tabber) => { | |||
const osString = (window.navigator.oscpu || window.navigator.platform || window.navigator.userAgent).toLowerCase(); | |||
let userOs = null; | |||
if (osString.includes("linux")) userOs = "linux"; | |||
if (osString.includes("mac")) userOs = "mac"; | |||
if (osString.includes("win")) userOs = "win"; | |||
const oldAnchor = window.location.hash; | |||
const | tabber.querySelectorAll(".tabber__header > .tabber__tabs > a.tabber__tab").forEach(tab => { | ||
const tabName = tab.textContent.toLowerCase(); | |||
if (userOs === "linux" && tabName.includes("linux")) tab.click(); | |||
if (userOs === "mac" && tabName.includes("macos")) tab.click(); | |||
if (userOs === "win" && tabName.includes("windows")) tab.click(); | |||
}); | }); | ||
setTimeout(() => { | |||
window.location.hash = oldAnchor; | |||
}, 100); | |||
}); | }); |