MediaWiki:Common.js
Da il PaccoPacchia.
Jump to navigation
Jump to search
Nota: dopo aver salvato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.
- Firefox / Safari: tenere premuto il tasto delle maiuscole Shift e fare clic su Ricarica, oppure premere Ctrl-F5 o Ctrl-R (⌘-R su Mac)
- Google Chrome: premere Ctrl-Shift-R (⌘-Shift-R su un Mac)
- Internet Explorer: tenere premuto il tasto Ctrl e fare clic su Aggiorna, oppure premere Ctrl-F5
- Opera: Vai nel Menu → Impostazioni (Opera → Preferenze su un Mac) e poi in Privacy & sicurezza → Pulisci dati del browser → Immagini e file nella cache.
/* Il codice JavaScript inserito qui viene caricato da ciascuna pagina, per tutti gli utenti. */
if ( typeof console !== undefined ) {
console.log( 'Common.js 9' );
}
/* Test if an element has a certain class **************************************
*
* Description: Uses regular expressions and caching for better performance.
* Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]]
*/
var hasClass = (function () {
var reCache = {};
return function (element, className) {
return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
};
})();
function getElementsByClass(searchClass, tagName) {
// Fonte: http://www.anyexample.com/webdev/javascript/javascript_getelementsbyclass_function.xml
if (tagName == null)
tagName = '*';
var el = new Array();
var tags = document.getElementsByTagName(tagName);
for(i = 0, j = 0; i < tags.length; i++)
if (hasClass(tags[i], searchClass))
el[j++] = tags[i];
return el;
}
/** Username replace function *******************************
* Inserts user name into <span class="insertusername"></span>
*/
if (!(typeof(disableUsernameReplace) != 'undefined' && disableUsernameReplace || wgUserName == null)) {
var n = getElementsByClass("insertusername", "span");
if (n.length > 0)
for (var i = 0; i < n.length; i++)
n[i].innerHTML = wgUserName;
}
/** "Technical restrictions" title fix *****************************************
*
* Descrizione: Codice per [[Template:Titolo errato]]
* Copiato inizialmente da [[:en:MediaWiki:Common.js]]
*/
// 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 user script
function correctTitle() {
try {
var realTitleBanner = document.getElementById("RealTitleBanner");
if (realTitleBanner && !document.getElementById("DisableRealTitle") && !disableRealTitle) {
var realTitle = document.getElementById("RealTitle");
if (realTitle) {
var realTitleHTML = realTitle.innerHTML;
var realTitleText = $(realTitle).text();
var containsTooMuchHTML = /</.test( realTitleHTML.replace(/<\/?(sub|sup|small|big|a)>/gi, "") ); // contains HTML that will be ignored when cut-n-pasted as a wikilink
var h1 = document.getElementsByTagName("h1")[0];
if (h1) {
h1.innerHTML = containsTooMuchHTML ? realTitleText : realTitleHTML;
realTitleBanner.style.display = "none";
}
document.title = realTitleText + " - il PaccoPacchia";
}
}
} catch (e) {
/* Something went wrong. */
}
}
$(correctTitle);
// BEGIN Dynamic Navigation Bars
// set up the words in your language
var NavigationBarHide = '▲ nascondi';
var NavigationBarShow = '▼ mostra';
// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// NavigationBarShowDefault = 0; // all bars will be hidden
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
var NavigationBarShowDefault = 0;
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle)
return false;
// if shown now
if (NavToggle.firstChild.data == NavigationBarHide) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (hasClass(NavChild, 'NavPic'))
NavChild.style.display = 'none';
if (hasClass(NavChild, 'NavContent'))
NavChild.style.display = 'none';
if (hasClass(NavChild, 'NavToggle'))
NavChild.firstChild.data = NavigationBarShow;
}
// if hidden now
} else if (NavToggle.firstChild.data == NavigationBarShow) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (hasClass(NavChild, 'NavPic'))
NavChild.style.display = 'block';
if (hasClass(NavChild, 'NavContent'))
NavChild.style.display = 'block';
if (hasClass(NavChild, 'NavToggle'))
NavChild.firstChild.data = NavigationBarHide;
}
}
}
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
for(
var i=0;
NavFrame = document.getElementsByTagName("div")[i];
i++
) {
// if found a navigation bar
if (hasClass(NavFrame, 'NavFrame')) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
var NavToggleText = document.createTextNode(NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// add NavToggle-Button as first div-element
// in < div class="NavFrame" >
NavFrame.insertBefore(
NavToggle,
NavFrame.firstChild
);
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
// if more Navigation Bars found than Default: hide all
if (NavigationBarShowDefault < indexNavigationBar) {
for(
var i=1;
i<=indexNavigationBar;
i++
) {
toggleNavigationBar(i);
}
}
}
$(createNavigationBarToggleButton);
// END Dynamic Navigation Bars
/* Pulsanti della pagina principale */
function bottoni_over(id) {
pulsantiPaginaPrincipale = getElementsByClass("pulsantePaginaPrincipale", "td");
var colori = new Array();
colori[0] = "#90d749";
colori[1] = "#ababca";
colori[2] = "#00957c";
colori[3] = "#1f206a";
colori[4] = "#90d749";
colori[5] = "#ababca";
colori[6] = "#00957c";
if (pulsantiPaginaPrincipale.length != 0) {
pulsantiPaginaPrincipale[id].style.color = "black";
pulsantiPaginaPrincipale[id].style.borderStyle = "solid";
pulsantiPaginaPrincipale[id].style.backgroundColor = colori[id];
document.getElementById("imgNera" + id).style.display = "inline";
document.getElementById("imgBianca" + id).style.display = "none";
}
}
function bottoni_out(id) {
pulsantiPaginaPrincipale = getElementsByClass("pulsantePaginaPrincipale", "td");
var colori = new Array();
colori[0] = "#90d749";
colori[1] = "#ababca";
colori[2] = "#00957c";
colori[3] = "#1f206a";
colori[4] = "#90d749";
colori[5] = "#ababca";
colori[6] = "#00957c";
if (pulsantiPaginaPrincipale.length != 0) {
pulsantiPaginaPrincipale[id].style.color = "white";
pulsantiPaginaPrincipale[id].style.borderStyle = "solid";
pulsantiPaginaPrincipale[id].style.backgroundColor = colori[id];
document.getElementById("imgNera" + id).style.display = "none";
document.getElementById("imgBianca" + id).style.display = "inline";
}
}
var pulsantiPaginaPrincipale = getElementsByClass("pulsantePaginaPrincipale", "td");
if (pulsantiPaginaPrincipale.length != 0) {
for (var i = 0; i < pulsantiPaginaPrincipale.length; i++) {
pulsantiPaginaPrincipale[i].setAttribute("onmouseover", "javascript:bottoni_over(" + i + ");");
pulsantiPaginaPrincipale[i].setAttribute("onmouseout", "javascript:bottoni_out(" + i + ");");
}
}