Benutzer:Flominator/BklRedir.js
aus Wikipedia, der freien Enzyklopädie
< Benutzer:Flominator
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 14. Juni 2017 um 17:33 Uhr durch imported>Flominator(56380) (+ https://github.com/FlominatorTM/wikipedia_bklredir/blob/master/bklredir.php).
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
/*
Dieses Skript prüft alle Links eines Artikels auf Verbesserungspotenzial (Weiterleitungen, BKLs, Namensseiten, Übersichtsseiten etc.)
Quelltext der Serverseite: https://github.com/FlominatorTM/wikipedia_bklredir/blob/master/bklredir.php
*/
$(function() {
var form = document.forms["editform"];
if (form)
{
var text = form.elements["wpTextbox1"];
CheckForWrongLinks(text);
}
});
function CheckForWrongLinks(ta)
{
var ArticleText = "Wer nicht vom [[rechten]] Weg abkommt bleibt [[auf|oder]] der Strecke";
ArticleText = ta.value;
var Words = ArticleText.split("[[");
var LinkEnd;
var links = "";
if(Words.length<400)
{
for(var i=1;i<Words.length;i++)
{
LinkEnd = Words[i].indexOf("|");
if((Words[i].charAt(0) != ':') && (Words[i].search(/Kategorie:/)==-1)&& (Words[i].search(/Bild:/)==-1))
{
var LastBracket = Words[i].indexOf("]");
if((LinkEnd==-1) || LinkEnd > LastBracket)
{
LinkEnd = LastBracket;
}
var plain_link = Words[i].substring(0, LinkEnd);
plain_link = plain_link.replace(/#/g, "rraauuttttee");
plain_link = plain_link.replace(/&/g, "%26");
//document.write(i + Words[i]);
//document.write("gekürzt:" + plain_link + '<br>');
links = links + plain_link + ';';
}
}
}
/* via http://regexlib.com/REDetails.aspx?regexp_id=3497 */
var regexp = /ISBN(-1(?:(0)|3))?:?\x20(\s)*[0-9]+[- ][0-9]+[- ][0-9]+[- ][0-9]*[- ]*[xX0-9]/gm;
var match;
var ISBNparam = '';
while ((match = regexp.exec(ArticleText)) != null)
{
ISBNparam+= match + ';';
}
//alert(links);
var iframe = '<iframe width="150" id="bklframe"></iframe>';
insert_link_before("li", "p-tb", iframe );
document.getElementById("bklframe").contentDocument.write('<form id="dynForm" action="http://wikipedia.ramselehof.de/bklredir.php" method="post"><input type="hidden" name="articles" value="'+links+'"><input type="hidden" name="isbns" value="'+ISBNparam+'"><input type="hidden" name="article" value="'+mw.config.get("wgTitle")+'"></form>');
document.getElementById("bklframe").contentDocument.getElementById("dynForm").submit();
}
//Insert any tag before any element with an id
function insert_link_before(tagname, previous_element, linkcode)
{
var vl_logout = document.getElementById(previous_element);
if (vl_logout)
{
var ins_li = document.createElement(tagname);
ins_li.innerHTML=/* */linkcode;/* */
vl_logout.parentNode.insertBefore(ins_li, vl_logout);
}
}