„MediaWiki:Common.js“ – Versionsunterschied
Erscheinungsbild
Inhalt gelöscht Inhalt hinzugefügt
+ function includePage( name ) |
Tilla (Diskussion | Beiträge) PngFix |
||
Zeile 283: | Zeile 283: | ||
+ '&action=raw&ctype=text/javascript"><\/script>' |
+ '&action=raw&ctype=text/javascript"><\/script>' |
||
); |
); |
||
} |
|||
function PngFix() |
|||
{ |
|||
try |
|||
{ |
|||
if (!document.body.filters) |
|||
{ |
|||
window.PngFixDisabled = true |
|||
} |
|||
} |
|||
catch (e) |
|||
{ |
|||
window.PngFixDisabled = true |
|||
} |
|||
if (!window.PngFixDisabled) |
|||
{ |
|||
var documentImages = document.images |
|||
var documentCreateElement = document.createElement |
|||
var funcEncodeURI = encodeURI |
|||
for (var i = 0; i < documentImages.length;) |
|||
{ |
|||
var img = documentImages[i] |
|||
var imgSrc = img.src |
|||
if (imgSrc.substr(imgSrc.length - 3).toLowerCase() == "png" && !img.onclick) |
|||
{ |
|||
if (img.useMap) |
|||
{ |
|||
img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + encodeURI(imgSrc) + "')" |
|||
img.src = "/media/wikipedia/commons/c/ce/Transparent.gif" |
|||
i++ |
|||
} |
|||
else |
|||
{ |
|||
var outerSpan = documentCreateElement("span") |
|||
var innerSpan = documentCreateElement("span") |
|||
var outerSpanStyle = outerSpan.style |
|||
var innerSpanStyle = innerSpan.style |
|||
var imgCurrentStyle = img.currentStyle |
|||
outerSpan.id = img.id |
|||
outerSpan.title = img.title |
|||
outerSpan.className = img.className |
|||
outerSpanStyle.backgroundImage = imgCurrentStyle.backgroundImage |
|||
outerSpanStyle.borderWidth = imgCurrentStyle.borderWidth |
|||
outerSpanStyle.borderStyle = imgCurrentStyle.borderStyle |
|||
outerSpanStyle.borderColor = imgCurrentStyle.borderColor |
|||
outerSpanStyle.display = "inline-block" |
|||
outerSpanStyle.fontSize = "0" |
|||
outerSpanStyle.verticalAlign = "middle" |
|||
if (img.parentElement.href) outerSpanStyle.cursor = "hand" |
|||
innerSpanStyle.width = "1px" |
|||
innerSpanStyle.height = "1px" |
|||
innerSpanStyle.display = "inline-block" |
|||
innerSpanStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + funcEncodeURI(imgSrc) + "')" |
|||
outerSpan.appendChild(innerSpan) |
|||
img.parentNode.replaceChild(outerSpan, img) |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
i++ |
|||
} |
|||
} |
|||
} |
|||
} |
|||
if (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.substr(22, 1) == "6") |
|||
{ |
|||
window.attachEvent("onload", PngFix) |
|||
} |
} |
Version vom 26. November 2007, 01:45 Uhr
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
// ============================================================
// BEGIN Configuration for "star" logo in front of interwiki links to Featured Articles
/** set to false in Special:Mypage/monobook.js to switch off this "feature" */
var linkFA_enabled = true;
/** description that is displayed when cursor hovers above FA interwiki links */
var linkFA_description = "Dieser Artikel wurde als exzellent bewertet.";
// linkFA_bullet and linkFA_style werden nur für cologneblue, nostalgia and standard verwendet,
// für monobook und simple siehe [[MediaWiki:Common.css]]
/** image to use instead of the standard bullet (for cologneblue, nostalgia and standard */
var linkFA_bullet = "/media/wikipedia/commons/d/d0/Monobook-bullet-star-transparent.png";
/** style to use for the linkFA_bullet img */
var linkFA_style = "margin-right: 0.2em;";
/**
* star logo for featured articles in other languages,
* see Template:Link_FA and MediaWiki:Common.css
*/
function linkFA() {
// early exit when disabled
if (!linkFA_enabled) return;
// skins need to be treated differently
if (skin == "monobook" || skin == "simple") {
newer();
}
else if (skin == "cologneblue" || skin == "nostalgia" || skin == "standard") {
older();
}
/** skin == "monobook" || skin == "simple" */
function newer() {
// links are to replaced in p-lang only
var pLang = document.getElementById("p-lang");
if (!pLang) return;
var lis = pLang.getElementsByTagName("li");
for (var i = 0; i < lis.length; i++) {
var li = lis[i];
// only links with a corresponding Link_FA template are interesting
if (!document.getElementById(li.className + "-fa")) continue;
// additional class so the template can be hidden with CSS
li.className += " FA";
// change title
li.title = linkFA_description;
}
}
/** skin == "cologneblue" || skin == "nostalgia" || skin == "standard" */
function older() {
// these root elements can contain FA-links
var rootIds = new Array("topbar", "footer");
for (var i=0; i<rootIds.length; i++) {
var rootId = rootIds[i];
var root = document.getElementById(rootId);
if (!root) continue;
// if the root exists, try to decorate all the links within
var links = root.getElementsByTagName("a");
for (var j=0; j<links.length; j++) {
var link = links[j];
decorate(link);
}
}
}
/** id necessary, modify a link to show the FA-star (older) */
function decorate(link) {
// exit if not a FA-link
var lang = link.title.split(":")[0]; // not precise enough
var fa = document.getElementById("interwiki-" + lang + "-fa");
if (!fa) return;
// possible problem owing the standard skin: "Link FA" template is transcluded with a non-interwiki parameter, for example "Special"
// result: links to special pages in the topbar and/or footer might also be marked as a Featured Article
// build an image-node for the FA-star
var img = document.createElement("img");
img.setAttribute("src", linkFA_bullet);
img.setAttribute("alt", linkFA_description);
img.setAttribute("style", linkFA_style);
// decorate the link with the image
link.appendChild(img);
link.appendChild(link.removeChild(link.firstChild));
link.setAttribute("title", linkFA_description);
}
}
// aOnloadFunctions[aOnloadFunctions.length] = linkFA;
addOnloadHook(linkFA);
// END Configuration for "star" logo in front of interwiki links to Featured Articles
// ============================================================
//***********************************************************************
/** "Technical restrictions" title fix *****************************************
*
* Description:
* Maintainers: [[:en:User:Interiot|User:Interiot]], [[:en:User:Mets501|User:Mets501]]
* adjusted to deWP by [[:de:User:CyRoXX|User:CyRoXX]]
*/
// 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
editprefix = "Bearbeiten von ";
addOnloadHook(function() {
try {
var realTitleBanner = document.getElementById("Vorlage_Korrekter_Titel");
if (realTitleBanner && !document.getElementById("DisableRealTitle") && !disableRealTitle) {
var realTitle = document.getElementById("Korrekter_Titel");
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);
// replace the English canonical Namespaces by the German Namespaces
var enNS = new Array("Media", "Special", "Talk", "User", "User talk", "Project", "Project talk", "Image", "Image talk", "MediaWiki", "MediaWiki talk", "Template", "Template talk", "Help", "Help talk", "Category", "Category talk", "Portal", "Portal talk");
var deNS = new Array("Media", "Spezial", "Diskussion", "Benutzer", "Benutzer Diskussion", "Wikipedia", "Wikipedia Diskussion", "Bild", "Bild Diskussion", "MediaWiki", "MediaWiki Diskussion", "Vorlage", "Vorlage Diskussion", "Hilfe", "Hilfe Diskussion", "Kategorie", "Kategorie Diskussion", "Portal", "Portal Diskussion");
for (var i = 0; i <= enNS.length - 1; i++) {
//alert(enNS[i] + "-" + deNS[i]);
var NSregex = new RegExp("^" + enNS[i] + ":");
realTitleText = realTitleText.replace(NSregex, deNS[i] + ":");
realTitleHTML = realTitleHTML.replace(NSregex, deNS[i] + ":");
}
// Add the 'editprefix' to the titles, if wgAction is 'edit'
if (wgAction == 'edit') {
realTitleText = editprefix + realTitleText;
realTitleHTML = editprefix + realTitleHTML;
}
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. */
}
});
// similar to innerHTML, but only returns the text portions of the insides, excludes HTML
function pickUpText(aParentElement) {
var str = "";
function pickUpTextInternal(aElement) {
var child = aElement.firstChild;
while (child) {
if (child.nodeType == 1) // ELEMENT_NODE
pickUpTextInternal(child);
else if (child.nodeType == 3) // TEXT_NODE
str += child.nodeValue;
child = child.nextSibling;
}
}
pickUpTextInternal(aParentElement);
return str;
}
//********Ende erzwungener kleiner Anfangsbuchstabe********************
//********Fügt einen Link "Alle Sprachen" auf der Hauptseite unter die Sprachverweise hinzu ********************
function mainPageAppendCompleteListLink() {
try {
var node = document.getElementById( "p-lang" )
.getElementsByTagName('div')[0]
.getElementsByTagName('ul')[0];
var aNode = document.createElement( 'a' );
var liNode = document.createElement( 'li' );
aNode.appendChild( document.createTextNode( 'Alle Sprachen' ) );
aNode.setAttribute( 'href' , 'http://de.wikipedia.org/wiki/Wikipedia:Sprachen' );
liNode.appendChild( aNode );
liNode.className = 'interwiki-completelist';
node.appendChild( liNode );
} catch(e) {
// lets just ignore what's happened
return;
}
}
if ( wgTitle == 'Hauptseite' && wgNamespaceNumber == 0 ) {
addOnloadHook( mainPageAppendCompleteListLink );
}
//********Fügt einen Link "Alle Sprachen" auf der Hauptseite unter die Sprachverweise hinzu ********************
//********Verändert die Tabellensortierfunktion so, dass auch deutsche Tausenderpunkt und Dezimalkommata gehen ********************
//Orginal aus sv.wikipedia.org
function ts_parseFloat(num) {
if (!num) return 0;
num = num.replace(/\./g, "");
num = num.replace(/,/, ".");
num = parseFloat(num);
return (isNaN(num) ? 0 : num);
}
//********Ende Tabellensortierfunktionhack ********************
/*
* Zwingt IPs zuerst die Vorschau zu benutzen, bevor sie speichern können.
* Copyright Marc Mongenet, 2006 aus frwp
*/
function forcePreview() {
if (wgUserName != null || wgAction != "edit") return;
saveButton = document.getElementById("wpSave");
if (!saveButton) return;
saveButton.disabled = true;
saveButton.value = "Seite speichern (Bitte erst die Vorschau benutzen)";
saveButton.style.fontWeight = "normal";
document.getElementById("wpPreview").style.fontWeight = "bold";
}
addOnloadHook(forcePreview);
/* Ende von forcePreview</source>
/*
*Fügt der Suche weitere Suchengines hinzu (kopiert aus eswp)
*
*/
document.write('<script type="text/javascript" src="'
+ '/w/index.php?title=MediaWiki:SpezialSuche.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s&smaxage=3600"></script>');
/** includePage ************
* force the loading of another JavaScript file (Kopie von [[Commons:Common.js]])
*
* Local Maintainer: [[Commons:User:Dschwen]]
*/
function includePage( name )
{
document.write('<script type="text/javascript" src="' + wgScript + '?title='
+ name
+ '&action=raw&ctype=text/javascript"><\/script>'
);
}
function PngFix()
{
try
{
if (!document.body.filters)
{
window.PngFixDisabled = true
}
}
catch (e)
{
window.PngFixDisabled = true
}
if (!window.PngFixDisabled)
{
var documentImages = document.images
var documentCreateElement = document.createElement
var funcEncodeURI = encodeURI
for (var i = 0; i < documentImages.length;)
{
var img = documentImages[i]
var imgSrc = img.src
if (imgSrc.substr(imgSrc.length - 3).toLowerCase() == "png" && !img.onclick)
{
if (img.useMap)
{
img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + encodeURI(imgSrc) + "')"
img.src = "/media/wikipedia/commons/c/ce/Transparent.gif"
i++
}
else
{
var outerSpan = documentCreateElement("span")
var innerSpan = documentCreateElement("span")
var outerSpanStyle = outerSpan.style
var innerSpanStyle = innerSpan.style
var imgCurrentStyle = img.currentStyle
outerSpan.id = img.id
outerSpan.title = img.title
outerSpan.className = img.className
outerSpanStyle.backgroundImage = imgCurrentStyle.backgroundImage
outerSpanStyle.borderWidth = imgCurrentStyle.borderWidth
outerSpanStyle.borderStyle = imgCurrentStyle.borderStyle
outerSpanStyle.borderColor = imgCurrentStyle.borderColor
outerSpanStyle.display = "inline-block"
outerSpanStyle.fontSize = "0"
outerSpanStyle.verticalAlign = "middle"
if (img.parentElement.href) outerSpanStyle.cursor = "hand"
innerSpanStyle.width = "1px"
innerSpanStyle.height = "1px"
innerSpanStyle.display = "inline-block"
innerSpanStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + funcEncodeURI(imgSrc) + "')"
outerSpan.appendChild(innerSpan)
img.parentNode.replaceChild(outerSpan, img)
}
}
else
{
i++
}
}
}
}
if (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.substr(22, 1) == "6")
{
window.attachEvent("onload", PngFix)
}