Wikipedia:Technik/Archiv/2011
__EXPECTED_UNCONNECTED_PAGE__ __ARCHIVEDTALK__
{{ {{#ifexist:{{#titleparts:Wikipedia:Technik/Archiv/2011|1}}/Archiv-Baustein|{{#titleparts:Wikipedia:Technik/Archiv/2011|1}}/Archiv-Baustein|Archiv/Standard-Baustein}} |1=Wikipedia:Technik/Werkstatt |Icon= }} {{#iferror: {{#ifexpr: 20230620084530 > 20260515223312 - 200000000| {{ #ifexpr: 284453 > 600000 | }} }} }}
Tab für andern Skin
Ich habe einen Tab, der mir das Betrachten der aktuellen Seite mit dem Vector-Skin erlaubt: <syntaxhighlight lang="javascript"> addOnloadHook(function () {
var url = "http://de.wikipedia.org/wiki/" + wgPageName + "?useskin=vector"; addPortletLink("p-cactions", url, "V", "ca-vectorskin", "Vector-Skin"); });</syntaxhighlight>
Nur funktioniert dies nicht, wenn die URL ein & oder # enthält. Weiss da jemand Abhilfe? --Leyo 12:51, 10. Jul. 2011 (CEST)
- Willkommen, Kunde #1; und letztlich bist du ja auch der Verursacher dieser Seite.
- Es müsste funktionieren mit <syntaxhighlight lang="javascript" inline>mediaWiki.util.wikiUrlencode(wgPageName)</syntaxhighlight> – der wandelt die
&oder#im Seitentitel URL-fest um, und wohl auch noch Umlaute; dafür sollte er wissen, was Namensraum und Unterseite sind. - You’re welcome --PerfektesChaos 13:27, 10. Jul. 2011 (CEST)
<syntaxhighlight lang="javascript" style="margin-left:2em;"> $(document).ready(function () {
var l = window.location;
var url = l.protocol + l.host + l.pathname;
url += l.search
? ( l.search.search(/(&|\?)useskin=/) > -1
? l.search.replace(/(&|\?)useskin=.+?(&|$)/, "$1useskin=vector$2")
: l.search + "&useskin=vector" )
: "?useskin=vector";
url += l.hash;
addPortletLink("p-cactions", url, "V", "ca-vectorskin", "Vector-Skin");
} ); </syntaxhighlight>
- würde ich empfehlen. Oder geht das kürzer? --✓ Bergi 13:32, 10. Jul. 2011 (CEST)
- Danke euch beiden. Den Teil mit l.search verstehe nicht ganz. Ist der, um rauszufinden, ob
?useskin=vectoroder&useskin=vectorangehängt werden muss? --Leyo 14:57, 10. Jul. 2011 (CEST)
- Danke euch beiden. Den Teil mit l.search verstehe nicht ganz. Ist der, um rauszufinden, ob
Bergis Lösung schreibt nicht nur die statischen Artikel-URL um, mit denen du bisher gearbeitet hattest, sondern jede beliebige. Das würde ich in moderner Fassung (ab 2011) vielleicht etwas nachvollziehbarer formulieren als <syntaxhighlight lang="javascript"> $(function () {
var url = window.location;
var got = mw.util.getParamValue("useskin");
if (got == null) {
var qch = "&";
if (url.search === "" || url.search == null) {
qch = "?";
} else if (url.search === "?") {
qch = "";
}
url = url.href + qch + "useskin=vector";
} else {
url = url.href.replace(new RegExp("useskin="+got), "useskin=vector");
}
mw.util.addPortletLink("p-cactions", url, "V", "ca-vectorskin", "Vector-Skin");
}); </syntaxhighlight>
- Freihändig geschrieben, nicht getestet.
VG --PerfektesChaos 16:36, 10. Jul. 2011 (CEST)
- Ah, danke,
mw.util.getParamValuewar was ich suchte. - @PerfektesChaos: Du hast aber den hash-Teil vergessen (was ein wichtiger "Kunden"wunsch war), sehe ich das richtig?
- @Leyo: Für
window.location.searchsiehe URI. Es geht letztendlich immer darum, herauszufinden, ob a) kein search/query-Teil da ist, b) er existiert und sonderfall c) er bereits einen useskin spezifiziert. - Natürlich könnte man solche Links zusätzlich auch noch von Benutzer-Skin-Einstellung und gerade aktivem Skin abhängig machen, aber vermutlich steht der Code eh in deiner monobook.js?
- --✓ Bergi 17:24, 10. Jul. 2011 (CEST)
- @Bergi: Du hast recht; wenn die momentane URL einen hash enthält, aber noch kein useskin=, würde meine Lösung hinter den hash klatschen; müsste also noch verfeinert werden:
<syntaxhighlight lang="javascript" highlight="6-7,13"> $(function () {
var url = window.location;
var got = mw.util.getParamValue("useskin");
if (got == null) {
var qch = "&";
var hash = url.hash;
url.hash = "";
if (url.search === "" || url.search == null) {
qch = "?";
} else if (url.search === "?") {
qch = "";
}
url = url.href + qch + "useskin=vector" + hash;
} else {
url = url.href.replace(new RegExp("useskin="+got), "useskin=vector");
}
mw.util.addPortletLink("p-cactions", url, "V", "ca-vectorskin", "Vector-Skin");
}); </syntaxhighlight>
- Betr. Kundenwunsch: Seine bisherige Lösung hatte ja immer nur einen statischen Artikel über
wgPageNameerwischt; das&oder#hätte also Bestandteil des Seitentitels sein müssen (mit & kenne ich; #-Artikel müsste ich suchen, wüsste nur C-Sharp). Ein Fragment konnte dabei bisher nie vorkommen. Insofern kommt er ja mit verfeinerter und zukunftssicherer Funktionalität vom Rathaus – so oder so. - Guten Appetit --PerfektesChaos 19:25, 10. Jul. 2011 (CEST)
- Ich habe jetzt den untersten Code ausprobiert. Nun wird allerdings bei allen aufgerufenen Seiten nachträglich ein
#an die URL angehängt. - Wäre es prinzipiell möglich, dass das Script erst beim Klick auf das Tab ausgeführt wird? --Leyo 23:58, 10. Jul. 2011 (CEST)
- Ich habe jetzt den untersten Code ausprobiert. Nun wird allerdings bei allen aufgerufenen Seiten nachträglich ein
- Betr. Kundenwunsch: Seine bisherige Lösung hatte ja immer nur einen statischen Artikel über
- Das
#schadet nichts; reine Optik. Es wäre aber ohnehin von zweifelhaftem Wert, denn es konserviert den Zustand (Sprung auf Anker oder Überschrift), mit dem du irgendwann ursprünglich auf die Seite kamst. So wäre es dir vermutlich lieber:
<syntaxhighlight lang="javascript"> $(function () {
var url = window.location;
var got = mw.util.getParamValue("useskin");
if (got == null) {
var qch = "&";
url.hash = "";
if (url.search === "" || url.search == null) {
qch = "?";
} else if (url.search === "?") {
qch = "";
}
url = url.href + qch + "useskin=vector";
} else {
url = url.href.replace(new RegExp("useskin="+got), "useskin=vector");
}
mw.util.addPortletLink("p-cactions", url, "V", "ca-vectorskin", "Vector-Skin");
}); </syntaxhighlight>
- Grundsätzlich wäre zu klären, welche Funktion du mit dem Skript eigentlich erreichen möchtest. Die Lösung, die du ursprünglich hattest, bringt dich beim Skinwechsel immer in die Standardform der Seite. Das heißt, auch wenn du dir eine
oldid=oder diffpage angeschaut hattest, oder auf der Versionsgeschichte warst, zeigt es dir hinterher die Ansicht des neuesten Artikeltextes. Bergi hat dir einen Weg gewiesen, wie du genau die gleiche Sichtweise beibehältst, und sich nur die Skin ändert. Du musst wissen, welche Funktionalität du dir wünscht. - „dass das Script erst beim Klick auf das Tab ausgeführt wird?“ – na, mindestens das
mw.util.addPortletLink()muss ja ausgeführt werden, um das Tab zu generieren. In dem taucht dasurlauf. Theoretisch ist es vorstellbar, das erst hinterher zu belegen; aber es würde dir nichts bringen. Auf keinen Fall irgendwelche Zeitersparnis; das dauert nur Bruchteile von Tausendstelsekunden, und jedesmal, wenn dir eine Seite aufgebaut wird, laufen Zehntausende solcher Anweisungen ab.
Gut's Nächtle --PerfektesChaos 00:50, 11. Jul. 2011 (CEST)
- Deine erste Aussage trifft nicht zu.
#Abschnittsnamewird ersetzt durch#. Links auf Abschnitte funktionieren also nicht mehr. - Ich scheine mich wohl zu wenig präzis ausgedrückt zu haben, sorry. Was ich erreichen möchte, ist temporär den Skin zu wechseln. Mit anderen Worten, die aktuell angezeigte Seite soll per Klick auf das Tab im Vector-Skin (aber sonst gleich) angezeigt werden. Früher hatte ich dies jeweils manuell mittels anhängen von
?useskin=vectoroder&useskin=vectorgemacht. Durch die rudimentäre Funktion ganz oben hatte ich es nur für Seiten ohne Parameter praktischer hingekriegt. --Leyo 01:02, 11. Jul. 2011 (CEST)
- Von mir ein völlig anderer Ansatz, etwas quick&dirty, sollte aber funktionieren:
<syntaxhighlight lang="javascript"> $(function(){
var proto = window.location.protocol,
host = window.location.host,
path = window.location.pathname,
query = window.location.search,
hash = window.location.hash;
var url = proto + '//' + host + path + query + ((query === ) ? '?' : '&') + 'useskin=vector' + hash;
mw.util.addPortletLink('p-cactions', url, 'V', 'ca-vectorskin', 'Vector-Skin');
}); </syntaxhighlight>
- Im schlimmsten Fall gibt das URLs, die den Parameter
useskinmehrfach enthalten, aber solangeuseskin=vectorals letztes kommt, macht das nichts. --Schnark 09:33, 11. Jul. 2011 (CEST)- Ich habe diese Variante mal übernommen und (bisher) erfolgreich getestet. Vielen Dank nochmals an alle drei Helfer! --Leyo 09:46, 11. Jul. 2011 (CEST)
- Mein Code von oben, nochmal verbessert und inspiriert (insbesondere das Ausführen bei Klick):
<syntaxhighlight lang="javascript" style="margin-left:2em;"> $( function() {
var l = window.location;
var url = l.protocol + '//' + l.host + l.pathname;
url += l.search.length > 1
? ( ! mw.util.getParamValue("useskin")
? l.search + "&useskin=vector"
: l.search.replace(/(&|\?)useskin=.+?(&|$)/g, "$1useskin=vector$2") )
: "?useskin=vector";
/* oder q&d wie bei Schnark:
var url = l.protocol + '//' + l.host + l.pathname + l.search;
url += ( l.search.length ? "&" : "?" ) + "useskin=vector";
*/
var li = mw.util.addPortletLink("p-cactions", url, "V", "ca-vectorskin", "Vector-Skin");
$(li).find('a').click( function() {
this.href += l.hash;
} );
} ); </syntaxhighlight>
- --✓ Bergi 10:34, 11. Jul. 2011 (CEST)
- Danke. Nur kann ich nicht viel dazu sagen, ob nun der auskommentierte Teil besser ist oder nicht. --Leyo 11:41, 12. Jul. 2011 (CEST)
- Bei URLs mit oldid und # funktioniert das unterste Script nicht (die URL bleibt unverändert). --Leyo 17:07, 18. Jul. 2011 (CEST)
- Ups, da habe ich entweder das
!vergessen oder die if-else-Zweige vertauscht. Ist korrigiert; danke für den Hinweis. --✓ Bergi 17:29, 19. Jul. 2011 (CEST)
- Ups, da habe ich entweder das
CSS-Code kürzen
Kann man diesen CSS-Code zur Markierung von (lokalen) Dateien in Kategorien zusammenfassen, beispielsweise durch Ausschalten der Case-Sensitivity? <syntaxhighlight lang="css">.ns-14 #bodyContent img[src*=".jpg"] { border: 1px dotted #FF0000; } .ns-14 #bodyContent img[src*=".JPG"] { border: 1px dotted #FF0000; }</syntaxhighlight> Da es ja auch so funktioniert, ist die Frage mehr durch persönliches Interesse bedingt. --Leyo 16:38, 18. Jul. 2011 (CEST)
- Nein, das ist meines Wissens nach nicht möglich. Der Dateiname in URLs ist case sensitive. http://www.example.org/file.jpg und http://www.example.org/file.JPG können unterschiedliche Dateien sein. --Fomafix 16:56, 18. Jul. 2011 (CEST)
- Auf alle Fälle kann man es mal zu
<syntaxhighlight lang="css" style="margin-left:2em;">.ns-14 #bodyContent img[src*=".jpg"], .ns-14 #bodyContent img[src*=".JPG"] {
border: 1px dotted #FF0000;
}</syntaxhighlight>
- kürzen. Es gibt Selektorsprachen, mit denen
.ns-14 #bodyContent img([src*=".jpg"]|[src*=".JPG"])funktioniert (sizzle von jQuery?), mit CSS geht das leider (noch) nicht. --✓ Bergi 17:04, 18. Jul. 2011 (CEST)- Danke, das habe ich gesucht. Ich hab's so übernommen. --Leyo 17:19, 18. Jul. 2011 (CEST) PS. Soll man hier Erledigt-Bausteine setzen?
- Erledigt: Kann man machen; günstig ist, wenn das die Anfragenden tun, nachdem es ein paar Tage funktioniert hatte. Lästig ist es, einen bereits archivierten Thread wieder auszugraben und weiterzuführen, weil sich doch noch eine Macke gezeigt hat. --PerfektesChaos 01:19, 21. Jul. 2011 (CEST)
- Das hätte ich mich auch interessiert, wobei ich es (schon letztes Jahr) noch um zusätzlich der langen Variante erweitert habe Commons:User:Perhelion/vector.css. Grüße -- πϵρήλιο ℗ 13:17, 21. Jul. 2011 (CEST)
- Erledigt: Kann man machen; günstig ist, wenn das die Anfragenden tun, nachdem es ein paar Tage funktioniert hatte. Lästig ist es, einen bereits archivierten Thread wieder auszugraben und weiterzuführen, weil sich doch noch eine Macke gezeigt hat. --PerfektesChaos 01:19, 21. Jul. 2011 (CEST)
- Danke, das habe ich gesucht. Ich hab's so übernommen. --Leyo 17:19, 18. Jul. 2011 (CEST) PS. Soll man hier Erledigt-Bausteine setzen?
- Archivierung dieses Abschnittes wurde gewünscht von: --PerfektesChaos 22:56, 6. Aug. 2011 (CEST)
Benutzer:Ireas/bilderpruefen.js so ändern, dass Kategorien unten bleiben
Unter BD:Ireas#bilderpruefen.js wurden Änderungen am Script gewünscht, denen Ireas selbst nicht nachkommen kann.
- Aktuelle Situation
- Das Script wird vom Wikipedia:WPDK zur Kennzeichnung von nicht commonsfähigen Dateien, deren Dateibeschreibungsseite OK ist.
- Beim ersten „Bildprüfer“ wird {{{{#if:|subst:}}{{#if:
|Geprüfte Datei
|{{#ifeq:G
|:
|:Geprüfte Datei
|{{#switch:
|=Geprüfte Datei
|#default=Geprüfte Datei}}}}}}{{#ifeq:[[Benutzer:{{subst:REVISIONUSER}}|]] ~~~~~|[[Benutzer:{{subst:REVISIONUSER}}|]] ~~~~~|{{#if:|
}}|[[Benutzer:{{subst:REVISIONUSER}}|]] ~~~~~}}{{#ifeq:x|{{{3}}}|{{#if:|
}}|{{{3}}}}}{{#ifeq:x|{{{4}}}|{{#if:|
}}|{{{4}}}}}{{#ifeq:x|{{{5}}}|{{#if:|
}}|{{{5}}}}}{{#ifeq:x|{{{6}}}|{{#if:|
}}|{{{6}}}}}{{#ifeq:x|{{{7}}}|{{#if:|
}}|{{{7}}}}}{{#ifeq:x|{{{8}}}|{{#if:|
}}|{{{8}}}}}{{#ifeq:x|{{{9}}}|{{#if:|
}}|{{{9}}}}}{{#ifeq:x|{{{10}}}|{{#if:|
}}|{{{10}}}}}{{#ifeq:x|{{{11}}}|{{#if:|
}}|…}}{{#if:|
}}}}{{#if: | (Anzahl der Einbindungen)|}} ganz unten in die Dateibeschreibungsseite eingesetzt.
- Beim zweiten „Bildprüfer“ wird dessen Signatur analog als zweiten Vorlagenparameter ergänzt.
- Änderungwunsch
- Die Vorlage:Geprüfte Datei soll immer vor allfällig vorhandenen Kategorien (Dateikategorien) eingesetzt werden.
- Ist die Vorlage mit einer „Bildprüfer-Signatur“ unter den Kategorien, so soll sie bei der Zweitprüfung vor die Kategorien verschoben werden.
Habe ich mich diesmal verständlicher ausgedrückt früher? ;-) --Leyo 16:49, 20. Jul. 2011 (CEST)
- Einwandfrei; auch optisch Super-Gliederung deiner Anfrage, aus dir werden wir jetzt einen Programmierer machen.
- Ich hatte mir Ireas#bilderpruefen.js ohnehin schon für eine Integration in ein angedachtes Universalwerkzeug vorgesehen, das auf Wikipedia Diskussion:WPDK derzeit diskutiert wird.
- Ein Wunsch ist ja, dass nur einmal common.js zu ändern wäre. Dementsprechend sollten alle Aktivitäten über das Universalwerkzeug gestartet und gesteuert werden.
- In der Sache: Nullproblematisch. Ich hätte keinerlei Probleme, dies einzufügen (oder, wenn bereits an falscher Stelle vorhanden, zu verschieben):
- vor erste Kat
- wenn keine Kat: ganz am Ende
- wenn eines von SORTIERUNG DEFAULTSORT DEFAULTSORTKEY DEFAULTCATEGORYSORT vorhanden, dann davor.
- Natürlich hübsch mit genau einer Leerzeile vor und nach der eingefügten Vorlage.
- Vielleicht mag Ireas am „Universalwerkzeug“ mitwirken, oder hat gar keine Zeit mehr und ist froh, wenn er die Verantwortung los wird?
- VG --PerfektesChaos 19:28, 20. Jul. 2011 (CEST)
- Die von dir weiter spezifizierte Platzierung entspricht meiner Vorstellung.
- Ein Universalwerkzeug wäre sicher gut, nur möchte ich verhindern, dass du oder sonst ein technisch versierter Benutzer da echt viel Zeit reinsteckt. Wie's mit Ireas' Zeitbudget aussieht, kann ich nicht sagen. --Leyo 21:22, 20. Jul. 2011 (CEST)
- Hi! Bei einem Universalwerkzeug würde ich gerne mitwirken; ich weiß aber nicht, wie das zeitlich aussieht. Diese und nächste Woche eher schlecht, danach ist erstmal Wikimania, und so geht’s dann auch weiter… ;) Als weiteres Augenpaar und mit kleineren Beiträgen gerne, aber arg viel kann ich (momentan) leider nicht dazu beitragen. Grüße, --ireas :disk: :bew: 21:28, 20. Jul. 2011 (CEST)
- Das träfe sich gut; es ist einfacher, ein Skript als WP:WPDK/Werkzeug.js gemeinschaftlich (gleichwohl koordiniert) zu erstellen und über die Jahre zu pflegen, als etliche einzelne Benutzerskripte, die obendrein von normalen anderen Benutzern nicht verändert werden können. Hinzu kommt, dass ein Großteil der Konfigurationsabläufe identisch ist für jedes Einzelskript, und dann auch nicht mehrere Einzelskripte in common.js durch die Anwender eingebunden werden müssten, und diese sich gegenseitig in unvorhergesehener Weise negativ beeinflussen könnten.
- verhindern, dass du oder sonst ein technisch versierter Benutzer da echt viel Zeit reinsteckt – das läuft völlig anders. Mein WSTM hat mittlerweile 425 kB kommentierten Quellcode, und das treibt es sehr viel wilder. In diesem Skript steckt soviel an schonmal abgegessenen Code-Sequenzen, dass ich die meisten Programmteile nur noch abpflücken und passend zusammensetzen bräuchte. Die Hauptarbeit liegt im Schreiben der Doku für die Anwender hinterher – und vorher darin, herauszufinden, welcher Routine-Arbeitsablauf von den Anwendern ausgeführt wird, und was automatisierbar ist. Euch steht aber mit vielen 10.000 bislang ungeprüfter Datien auch ein möglichst vereinfachter, narrensicherer und komfortabler Arbeitsablauf zu. Manches, von dem du wahrscheinlich nicht ahnst, dass es machbar wäre, kostet die Programmierer ganze zwei Zeilen zur Automatisierung.
- Ich schlage vor, diesen Thread hier einzustellen und im Bereich Wikipedia Diskussion:WPDK weiterzuführen.
- LG --PerfektesChaos 01:19, 21. Jul. 2011 (CEST)
- Archivierung dieses Abschnittes wurde gewünscht von: Weiter hier: Wikipedia:WikiProjekt Dateikategorisierung/Werkzeug/x --PerfektesChaos 22:56, 6. Aug. 2011 (CEST)
Weiterleitung wie BK-Check mit Buchstaben statt farblich
Moin moin,
wo es diese Seite gibt, gleich mal eine Anfrage. Bis jetzt habe ich in meiner *.css <syntaxhighlight lang="css" inline>a.mw-redirect { color:green; }</syntaxhighlight> stehen. Nun hätte ich statt (nur) der farblichen Darstellung gerne ein Buchstabenkürzel (etwa WL) hochgestellt hinter dem Link stehen, wie es beim Begriffsklärungs-Check auch der Fall ist. Was muss ich tun? Ach ja, ist für modern, falls das von Belang ist. --Alex 23:38, 2. Aug. 2011 (CEST)
- Moin, das hier müsste gehen (freihändig geschrieben):
<syntaxhighlight lang="css"> a.mw-redirect {
color: green;
} a.mw-redirect:after {
content: "WL"; visibility: visible ! important; background: #FFFFFF; color: green; vertical-align: super;
} </syntaxhighlight>
- Skin ist egal; aber ältere Browser oder IE könnten ein Problem sein.
- Falls es nicht rockt: Beschweren. --PerfektesChaos 00:05, 3. Aug. 2011 (CEST)
- Super! Klappt, besten Dank! --Alex 10:17, 3. Aug. 2011 (CEST)
- Ups, doch nicht. Die Buchstaben sind dort zwar zu sehen, ich kann aber nicht nach ihnen suchen. (Und das war der eigentliche Zweck.) --Alex 18:58, 4. Aug. 2011 (CEST)
- Das wird wohl auch nix. Die Buchstaben stehen ja grade nicht auf der Seite 8werden also nicht per JavaScript etc. reingeschmiert) sondern vom browser dynamisch generiert. --Guandalug 18:59, 4. Aug. 2011 (CEST)
- Dann würde ich
- Das wird wohl auch nix. Die Buchstaben stehen ja grade nicht auf der Seite 8werden also nicht per JavaScript etc. reingeschmiert) sondern vom browser dynamisch generiert. --Guandalug 18:59, 4. Aug. 2011 (CEST)
- Ups, doch nicht. Die Buchstaben sind dort zwar zu sehen, ich kann aber nicht nach ihnen suchen. (Und das war der eigentliche Zweck.) --Alex 18:58, 4. Aug. 2011 (CEST)
- Super! Klappt, besten Dank! --Alex 10:17, 3. Aug. 2011 (CEST)
$(function() {
$('a.mw-redirect').append($("<sup>WL</sup>"));
});
- für JS empfehlen. Fürs reine Suchen sollte doch aber eine dynamische CSS-Hervorhebung besser geeignet sein als die Browsersuche nach einem ziemlich häufigen Buchstabenkürzel? en:User:Dschwen/highlightredirects.js bietet sowas, ist allerdings noch ausbaubar. --✓ Bergi 21:17, 4. Aug. 2011 (CEST)
- Wozu dient denn das visibility? --✓ Bergi 11:25, 3. Aug. 2011 (CEST)
- @Alex: Sorry, so hatte ich dich nicht verstanden. Wenn du danach suchen willst, bräuchtest du wohl statt dessen ein kleines JavaScript, das diesen Superscript in den HTML-Text einfügt. Mit etwas Glück wird beim Durchsuchen der Seite auch unsichtbarer Text gefunden, alternativ nur ein Pixel hohe Schriftgröße in weiß auf weiß. Anpassbaren Quellcode hätte ich in der Schublade; was für einen Browser hast du denn?
- @Bergi: visibility beim :after ist bei mir Routine und fließt serienmäßig ein; geht auf ein Problem vor ein paar Jahren zurück, ich glaube mit IE. Sollte sich inzwischen erledigt haben; vor allem, wenn Alex ja offenbar den BKL-Check sehen kann. Schadet aber auch nichts.
- LG --PerfektesChaos 20:20, 4. Aug. 2011 (CEST)
- Ja, hatte ich auch nicht erwähnt. War davon ausgegangen, dass ich nach der Buchstabenkombination suchen kann, sobald ich sie sehe. Hintergrund ist, dass ich bei Änderungen gerne unnötige/historisch gegebene Weiterleitungen auflösen möchte. Bei kleinen Seiten reicht da eine optische Hervorhebung, bei längeren rutscht einem dann schon mal etwas durch und da fände ich dann eine Suche ganz hilfreich. Browser ist in der Regel Firefox, sonst Opera. --Alex 23:56, 4. Aug. 2011 (CEST)
Moin, moin; kleiner Browser-Test ergab, dass die FF-Textsuche keinen unsichtbaren Text findet. Ich oder ein anderer Kollege kann dir gern die Tage mit JS+jQuery einen Dreizeiler schreiben, der dir an jedes WL-Link exponentiell „WL“ dranschreibt; danach kannst du dann suchen. Pflichtgemäß habe ich die werte Kundschaft darauf hinzuweisen, dass bei manchen WL-Links die WL deren Auflösung vorzuziehen ist; jedoch etwa bei Abkürzungen liefert der Tooltip mit ausgeschriebener Fassung hilfreichen Mehrwert. Bis dann --PerfektesChaos 00:25, 5. Aug. 2011 (CEST)
- Schon klar. Kommt aber immer wieder vor, dass ein Artikel verschoben wurde (sagen wir von
[[Umleiten]]nach[[Umleitung]]) und die Links nicht angepasst wurden (was dann zu Konstrukten wieHier steht eine [[Umleiten|Umleitung]]führt). Solche und ähnliche Fälle würde ich ganz gerne eben mitputzen, wenn ich einen Artikel eh editiere. --Alex 00:45, 5. Aug. 2011 (CEST)
- Äh, sehe gerade, der Dreizeiler steht schon weiter oben. Du kannst auch QWL statt WL nehmen; das Q liegt ja gleich neben dem W und die Kombination ist seltener. --PerfektesChaos 00:29, 5. Aug. 2011 (CEST)
- Und die Lösung funktioniert. Danke noch mal! (Mein Eindruck ist übrigens, dass die Kombination WL im Deutschen gar nicht so häufig vorkommt.) --Alex 00:45, 5. Aug. 2011 (CEST)
- Archivierung dieses Abschnittes wurde gewünscht von: --PerfektesChaos 22:56, 6. Aug. 2011 (CEST)
jSuggestions
Kürzlich bin ich auf dieses installierte Script gestoßen.
Ich habe vor, dem Benutzer ein Dropdown mit Vorschlägen anzubieten.
- Ist dieses Skript geeignet für ein <syntaxhighlight lang="html"><input type="text" id="textboxT"/></syntaxhighlight>
- Gibt es irgendwo eine Beispielnutzung?
- Es hat eine Dokumentation. Aber aus der werde schlau, …
- Probiert habe ich schon <syntaxhighlight lang="JavaScript">$( '#textboxT' ).suggestions( fetch, MyDefinedFunction );</syntaxhighlight> aber ich habe nie ein Callback bekommen.
- Ich werde weiter testen.
<syntaxhighlight lang="JavaScript"> function fetchIT(d, y) {
console.log('fetched');
this.suggestions( 'suggestions', ['Lorem ipsum dolor sit amet', 'consectetur adipisici elit', 'sed eiusmod tempor incidunt ut labore et dolore magna aliqua'])
}
$('#wpSummary').suggestions( 'fetch', fetchIT );</syntaxhighlight> So läuft's. Ein Beispiel wäre trotzdem schön.
Danke -- RE rillke fragen? 09:46, 5. Aug. 2011 (CEST)
- Die beiden mir bekannten Beispielanwendungen sind mediawiki.page.ajaxCategories.js und ext.vector.simpleSearch.js. Vielleicht hilft das dir ja. --Schnark 10:32, 5. Aug. 2011 (CEST)
Interwikilinks (erl.)
Gibt es ein halbautomatisches Skript, welches Interwikilinks einfügt? --Der Buckesfelder - Benutzer - Diskussion - Bewertung 19:12, 10. Aug. 2011 (CEST)
- Du meinst ein Skript, das dir bei jedem Bearbeiten fehlende Interwikis vorschlägt (und auf Knopfdruck einbaut)? Oder was bedeutet „halbautomatisch Interwikilinks einfügen“? Ich müsste selbst erst suchen --✓ Bergi 20:37, 10. Aug. 2011 (CEST)
- Genau so eins meine ich. --Der Buckesfelder - Benutzer - Diskussion - Bewertung 15:03, 11. Aug. 2011 (CEST)
- Kennst du dieses Tool? --Leyo 15:14, 11. Aug. 2011 (CEST)
- Ja, aber ich möchte das gerne direkt eingebaut haben. Sorry, dass ich so anstrengend bin. --Der Buckesfelder - Benutzer - Diskussion - Bewertung 15:51, 11. Aug. 2011 (CEST)
- Reicht dir die Implementation via Gadget? --Leyo 16:20, 11. Aug. 2011 (CEST)
- Reichen tut das auch, sollte aber als Link in die Oberfläche integriert sein. Bei diesem Gadget fehlt aber eins für Interwikilinks. --Der Buckesfelder - Benutzer - Diskussion - Bewertung 20:26, 11. Aug. 2011 (CEST)
- Fehlen tut's doch nur in der Gadget-Dokumentation… --Leyo 20:29, 11. Aug. 2011 (CEST)
- Reichen tut das auch, sollte aber als Link in die Oberfläche integriert sein. Bei diesem Gadget fehlt aber eins für Interwikilinks. --Der Buckesfelder - Benutzer - Diskussion - Bewertung 20:26, 11. Aug. 2011 (CEST)
- Reicht dir die Implementation via Gadget? --Leyo 16:20, 11. Aug. 2011 (CEST)
- Ja, aber ich möchte das gerne direkt eingebaut haben. Sorry, dass ich so anstrengend bin. --Der Buckesfelder - Benutzer - Diskussion - Bewertung 15:51, 11. Aug. 2011 (CEST)
- Kennst du dieses Tool? --Leyo 15:14, 11. Aug. 2011 (CEST)
- Genau so eins meine ich. --Der Buckesfelder - Benutzer - Diskussion - Bewertung 15:03, 11. Aug. 2011 (CEST)
- Archivierung dieses Abschnittes wurde gewünscht von: --Der Buckesfelder - Benutzer - Diskussion - Bewertung 13:57, 12. Aug. 2011 (CEST)
Benutzer ansprechen
Gibt es die Möglichkeit, per Variable den aktuellen Benutzer anzusprechen? Beispiel: Hans (auch als solcher angemeldet) schaut auf meine Benutzerseite. Dort soll er dann lesen: Hallo Hans, schön, dass Du da bist. {{REVISIONUSER}} funktioniert ja nur in der Vorschau und mit {{PAGENAME}} (am besten gesubstet) komme ich ja nur auf der Bentzerdisk des Angesprochenen weiter. Anka ☺☻Wau! 12:29, 11. Aug. 2011 (CEST)
- Nein, eine solche Variable gibt es nicht, und wird es auch nicht geben, da dies die Server zu stark belasten würde, denn die Seite müsste dann ja für jeden Benutzer neu gerendert werden, statt einfach aus dem Cache geholt zu werden. Siehe auch Wikipedia:Fragen zur Wikipedia/Archiv/2010/Woche 46#Variable: Name des Betrachters. Dass man REVISIONUSER verwenden kann, um zumindest beim Bearbeiten der Diskussionsseite den Benutzer direkt anzusprechen, brauche ich dir ja nicht erklären. --Schnark 12:41, 11. Aug. 2011 (CEST)
MediaWiki:Gadget-rightsfilter
Ist es möglich das Gadget so anzupassen, dass der Cursor beim Anklicken des Tabs Filter ins Eingabefeld springt? --Leyo 16:09, 12. Aug. 2011 (CEST)
- Grundsätzlich: Ja. Braucht eine Zeile.
- Anzupassen wäre durch einen auffindbaren Commons-Admin commons:MediaWiki:Gadget-rightsfilter.js, wie du ja aus April weißt.
- Bergi, ich oder sonstwer schauen uns das an. Damit uns das klar ist: Welches Eingabefeld genau soll den Focus erhalten? (Ich arbeite blind und werde das tunlichst nicht installieren.)
- LG --PerfektesChaos 16:46, 12. Aug. 2011 (CEST)
- 3.
<input id="rfRegex">--Leyo 16:51, 12. Aug. 2011 (CEST)
- 3.
- Das war ein sachdienlicher Hinweis.
- Ungetestet müsste das Einfügen der folgenden Zeile laufen:
<syntaxhighlight highlight="5" lang="javascript"> //Set passed values $('#rfRegex').val(value); $('#rfCase').attr('checked', !casing); $('#rfInvert').attr('checked', inverted); $('#rfRegex').focus();
//Bind click and change handlers </syntaxhighlight>
- Schönes Wochenende --PerfektesChaos 19:04, 12. Aug. 2011 (CEST)
- Hat geklappt, vielen Dank! Ebenfalls ein schönes Wochenende wünscht Leyo 20:18, 12. Aug. 2011 (CEST)
- Schönes Wochenende --PerfektesChaos 19:04, 12. Aug. 2011 (CEST)
- Archivierung dieses Abschnittes wurde gewünscht von: Leyo 20:18, 12. Aug. 2011 (CEST)
Automatischer Editkommentar soll nicht mehrfach ergänzt werden
Nachdem ich auf der Diskussionsseite die Erlaubnis erhalten habe, nun also ein Commons betreffender Wunsch. Es handelt sich um etwas nicht so Wichtiges, aber dafür für euch wohl ziemlich schnell zu Lösendes. Es geht darum, dass ein automatischer Editkommentar nicht mehrfach ergänzt wird. --Leyo 15:23, 12. Jul. 2011 (CEST)
- Die Frage ist ohnehin nicht Commons-spezifisch; für das Karlruher Stadtwiki sieht die Antwort genauso aus.
- In meinem in der de.WP entwickelten Skript stehen sinngemäß die Zeilen
<syntaxhighlight lang="javascript" inline> var field = document.getElementById("editform").wpSummary; if (field.value.indexOf(Modification_Summary) < 0) {
if (field.value.trim() == "") {
field.value = Modification_Summary;
} else {
field.value = field.value
+ " " + Modification_Summary;
}
} </syntaxhighlight>
- Dabei ist
Modification_Summaryder neu einzufügende KommentarwpSummaryder momentane Inhalt des Zusammenfassungs-Feldes.
- Das gilt für jeden, der an einer Zusammenfassung manipulieren will.
- Nun wird ein Bot weniger an dem HTML-Dokument wirken wollen; statt
field.valuewäre aus dem bisherigen Durchlauf des Bot-Programms der schon zusammengesammelte BK zu verwenden. Wenn der Bot dies abspeichern möchte, wird er das alssummaryunter mw:API:Edit/de schreiben wollen. - Für das Weitere bräuchte man den Quelltext des bot, um zu gucken, welche Variable intern für
summarybenutzt wird. - HGZH --PerfektesChaos 16:34, 12. Jul. 2011 (CEST)
- Was meinst du genau mit dem Bot? Commons:MediaWiki:Botcheck.js wird verwendet, um ein paar Arbeitsschritte beim Überprüfen von Commons-Transfers zu automatisieren. Um die Funktionsweise zu sehen, einfach eine Datei in Commons:Category:Files moved from de.wikipedia to Commons requiring review auswählen und dort im gelben Baustein auf Jetzt überprüfen! klicken. --Leyo 16:42, 12. Jul. 2011 (CEST)
<syntaxhighlight lang="javascript">
// Set edit summary
var add = "This bot move has been checked";
var summary = document.getElementById ('wpSummary');
if (!summary) return;
var val = $.trim( summary.value || "" );
if (val.indexOf(add) != -1) return;
summary.value = (val.length == 0) ? add : val + " " + add;
</syntaxhighlight>
Das dürfte sein was du brauchst. @PerfektesChaos: Kann man "String".trim mittlerweile vorraussetzen? Ich persönlich bevorzuge da zwar eine Prototyping-Library, aber in WMF soll man doch alles mit jQuery basteln? --✓ Bergi 17:53, 12. Jul. 2011 (CEST)
- Verstehe ich das Script richtig, dass geprüft wird, ob schon etwas in der Zusammenfassungszeile steht und falls ja, alles durch „This bot move has been checked“ ersetzt wird? --Leyo 18:35, 12. Jul. 2011 (CEST)
- Nein; wenn schon etwas in der Zusammenfassungszeile steht, wird ein Leerzeichen angehängt und dahinter das „This bot move has been checked“.
- @trim()
- Genau deswegen heißt es oben „sinngemäß“; bei mir steht da ein noch selbstgeschriebenes und ohnehin erheblich schlaueres trim(), weil ich an Unbekannte in unbekanntem Browser-Kontext weiterreiche.
trim()ist ab JavaScript 1.8.1 allgemein verfügbar, also schon bei aktuelleren Browser-Versionen bekannt.- Hängt also von den Umständen ab; im ersten Fall (HTML-Umgebung) dachte ich an ein persönliches Skript in eigenem Kontext. Notfalls trim() weglassen; die Mediawiki-DB trimmt interaktiv sowieso beim Speichern, von der API weiß ich's nicht, und der größte Schaden wäre, dass man wegen zu vieler führender Leerzeichen das 255-Zeichen-Limit (oder so ähnlich, 235?) des BK knackt.
- Weil es sich also über Commons:MediaWiki an Unbekannte in unbekanntem Browser-Kontext richtet, ist vorläufig das $.trim() schon ganz okay.
- Die Bezeichnung „Bot“ für das interaktive Schnipselchen unter Commons:MediaWiki:Botcheck.js ist etwas irreführend; ich hatte mir etwas anderes darunter vorgestellt.
- Beim wirklichen Bot ohne Browser wäre die Arbeitsumgebung des Bot relevant.
- --PerfektesChaos 18:53, 12. Jul. 2011 (CEST)
- Der Name wurde so gewählt, weil damit von einem Bot durchgeführte Transfers von Dateien nach Commons gecheckt werden können. Aber ich stimme dir zu, dass man den Namen durchaus anders interpretieren kann.
- Ist es unter den genannten Voraussetzungen am besten, das untere Script 1:1 zu übernehmen? Als JS-OMA bin ich leider nicht in der Lage, aus allen Infos hier selbst ein „Synthesescript“ zu erstellen. --Leyo 00:06, 13. Jul. 2011 (CEST)
- Ich gebe zu: Hätte ich die von dir verlinkte Talkpage umgeblättert, wäre mir klarer gewesen, was du möchtest. Ich ging davon aus, dass irgendein dussliger Bot auf Commons sich papageienhaft wiederholt.
- Die von Bergi angegebenen Zeilen sehen gut aus. Es spräche nichts dagegen, sie dort einzufügen (einfügen zu lassen – Admin@Commons?). Ein anderer Weg wäre, die Zeilen zunächst ein bis zwei Wochen auf der dortigen Disku zu präsentieren, und wenn in der Urlaubszeit niemand protestiert hat, danach zu handeln. Das Problem tritt ohnehin erst dann auf, wenn der interaktive Benutzer zum zweiten Mal auf diesen ominösen Knopf geklickt hat, und ein Schaden am Datenbestand entsteht ohnehin nicht.
- Zu ersetzen sind die fünf Zeilen beginnend mit
// Set edit summarybis beginnend mitsummary.value =durch die analogen von Bergi. - Du kannst es erstmal für dich persönlich austesten; du müsstest ein Commons.commons.js haben, in die du die ganze erneuerte Funktion einfügst. In der ersten Programmzeile wäre vorübergehend zu ändern
wgAction == 'edit'inwgAction == 'submit'– dann wird es automatisch ausgeführt, wenn du dir die Vorschau anzeigen lässt. Nun kannst du beim ersten Bearbeiten ein Mal auf den Knopf klicken und einen BK mit Meldung erzeugen; in der anschließenden [Vorschau] darf der BK nicht um eine zweite Meldung erweitert sein. Nun kannst du in deinem persönlichen Skript die Meldung ersetzen durch "Heureka!" – commons.js abspeichern und wieder die [Vorschau] von dem immer noch bearbeiteten Bild-Artikel. Jetzt sollte im BK stehen "This bot move has been checked Heureka!" – und du weißt, dass es funktioniert.
{{#invoke:Vorlage:Anker|f |errCat=Wikipedia:Vorlagenfehler/Vorlage:Anker |errHide=1}}
- Nebenbei darf sich niemand wundern, wenn die von unterschiedlichen Beratern gegebenen Code-Vorschläge bei gleicher Funktion unterschiedlich aussehen. Es gibt unendlich viele Möglichkeiten, dies zu notieren und zu formatieren, und manchmal sind Ausnahmesituationen, kaputte Seiten und veraltete Browser oder besonders schnelle Ausführung berücksichtigt oder auch nicht. Ich persönlich werde auf dieser Seite immer so gliedern, dass es auch für Newcomer besonders leicht zu lesen und zu verstehen ist – auch wenn drei einfache Zeilen sich in einer einzigen komplexen zusammenfassen ließen. Das mache ich ohnhin seit Jahrzehnten für mich selber so, weil ich sonst nach sechs Wochen mein eigenes Geschreibsel nicht mehr verstehe, nachdem ich zwischendurch Tausende von Zeilen in drei anderen Sprachen auf vier anderen Hochzeiten verbrochen hatte. Es vermeidet auch Fehler und spart viel Debugging-Zeit und Ärger mit frustrierten Dritten – unterm Strich spart man damit zehnmal mehr als der Mehraufwand für einen gut lesbaren Quellcode kostet. Von der Zusammenarbeit mit Kollegen und Partnern und einer Weiterentwicklung Jahre später ganz zu schweigen.
- Enjoy --PerfektesChaos 09:37, 13. Jul. 2011 (CEST)
- Vielen Dank für die ausführliche Antwort. Mit meiner Frage oben bezog ich mich vor allem auf die trim-Funktion und ob das untere Script dort noch optimiert werden sollte.
- Weil – wie ihr oben beschrieben habt – kein grosser Schaden entstehen kann, habe ich
einen Commons-Admin gesucht und gefundenden Code wie vorgeschlagen angepasst. Meine bisher zwei Tests sind erfolgreich verlaufen. --Leyo 10:29, 13. Jul. 2011 (CEST)
- Archivierung dieses Abschnittes wurde gewünscht von: --PerfektesChaos 22:56, 6. Aug. 2011 (CEST)
Frage: Text ersetzen
Bitte mal hier schauen! --Thomas021071 21:21, 28. Aug. 2011 (CEST)
- Flominator hatte dir schon eine Variante mit Bookmarklet gewiesen.
- Eine komfortable und gegen bestimmte Sonderfälle gefeite Methode wäre, mein Skript WikiSyntaxTextMod einzubinden und zusätzlich in deine common.js einzufügen:
<syntaxhighlight lang="javascript">
var Modif_Link = [
[ ["{{", "BAB-Land", ""],
[false, "AB", "|DE|Region|"] ],
[ ["{{", "BAB-Kreis", ""],
[false, "AB", "|DE|RegionSub|"] ],
[ ["{{", "B-Ort", ""],
[false, "AB", "|DE|Ort|"] ],
[ ["{{", "B-Trenner", ""],
[false, "AB", "|DE|Strich"] ],
[ ["{{", "B-Text", "()?([^}]+)?()?"],
[false, "AB", "|DE|Leer||$2"] ]
];
</syntaxhighlight>
- Soweit habe ich das dem Beispiel entnommen; Details dazu. Aus dem Handgelenk geschrieben und nicht getestet; müsste aber klappen. Sonstiges analog, mit Regeln für Umfahrung usw.
- HGZH --PerfektesChaos 22:06, 28. Aug. 2011 (CEST)
- irgendwas mache ich falsch. --Thomas021071 22:22, 28. Aug. 2011 (CEST)
- Äh, ja, du hättest mehr davon, wenn du dazu auch noch mein Skript einbindest:
<syntaxhighlight lang="javascript"> // Benutzer:PerfektesChaos/js/WikiSyntaxTextMod importScript("Benutzer:PerfektesChaos/js/WikiSyntaxTextMod/r.js"); </syntaxhighlight>
- Dies käme in deiner common.js noch hinzu. Ansonsten würde ich empfehlen, die von mir verlinkten Seiten kurz zu überfliegen, damit du eine ungefähre Vorstellung von dem hast, was du tust.
- Wenn du die durchfahrenen Bundesländer auch noch automatisch verlinken möchtest, lässt sich auch das noch automatisieren.
- Schönen Abend --PerfektesChaos 23:26, 28. Aug. 2011 (CEST)
Hallo, ich habe es versucht aber irgendwie will das alles nicht funktionieren. Mus ich irgendwas verschieben oder kopieren? --Thomas021071 18:16, 29. Aug. 2011 (CEST) pefektes Caos wie machst du das ich nehme Deine Hilfe gerne an ,Wo kann bei mir der Fehler sein ? --Thomas021071 18:49, 29. Aug. 2011 (CEST)
- Oje; man sollte sein eigenes Zeugs doch vorher testen, bevor man Ratschläge gibt …
- Du müsstest aber bisher schon einen Teilerfolg bemerkt haben; das heißt der Name der alten Vorlage war schon durch AB ersetzt worden, aber die zusätzlichen Parameter sind nicht eingefügt worden? Letzteres wäre mein Fehler.
- Falls nicht: Du hattest den aktuellen Artikel bearbeitet? Wenn oben in der URL etwas von &oldid= steht, geht das Skript von einer veralteten Version aus und macht sicherheitshalber erstmal nix.
- Deine common.js sieht jetzt okay aus. Ändere mal noch wie unten angegeben und probiere einen anderen Artikel.
- Ich habe das mal probehalber bei mir eingefügt und verfeinert; das Resultat ist in der B176 zu sehen: Bitte auf Richtigkeit prüfen.
- Ich habe bei der Gelegenheit eine kleine Nickeligkeit in meinem Skript entdeckt: Der leere Zeichenketten-Parameter "" macht zurzeit nicht das, was ich mir vorstelle. Du bist der erste, bei dem das benötigt wird. Werde das die nächsten Tage mal verfeinern. Bis dahin schreibe ich dir mal eine Baustellen-Umfahrung, die die bisherigen Zeilen ersetzt:
- Du müsstest aber bisher schon einen Teilerfolg bemerkt haben; das heißt der Name der alten Vorlage war schon durch AB ersetzt worden, aber die zusätzlichen Parameter sind nicht eingefügt worden? Letzteres wäre mein Fehler.
<syntaxhighlight lang="javascript"> var Modif_Link = [
[ ["{{", "BAB-Land", "(.)"],
[false, "AB", "|DE|Region|$1"] ],
[ ["{{", "BAB-Kreis", "(.)"],
[false, "AB", "|DE|RegionSub|$1"] ],
[ ["{{", "B-Ort", "(.)"],
[false, "AB", "|DE|Ort|$1"] ],
[ ["{{", "B-Trenner", "(.)"],
[false, "AB", "|DE|Strich$1"] ],
[ ["{{", "B-Text", "()?([^}]+)?()?"],
[false, "AB", "|DE|Leer||$2"] ],
[ ["{{", "AB", "\\|DE\\|Region\\| *Berlin *"],
[false, false, "|DE|Region|Berlin"] ],
[ ["Vorlage:", "AB", "\\ else {
r+="\nSignatur: ";
} //
r += "--[[Benutzer:{{subst:REVISIONS\BENUTZER}}|{{subst:REVISIONS\BENUTZER}}]] ~~~~~";
} //
} return r + match;
});
}, callback:function(status) {
if (status != "success")
return alert("Problem beim Bearbeiten");
li.find("a").text("…erfolgreich");
window.setTimeout(function(){
li.fadeOut();
}, 3000);
} });
});
}); </syntaxhighlight> --Der Buckesfelder - Diskussion - Bewertung - Email 10:41, 22. Okt. 2011 (CEST)
- Nur mal auf die schnelle:
case 1: r += "Kommentare:"+<br />*"+(p.grund);: hier fehlt ein " vor <br />- Hinter
case 0: r += "<br /><small>[["+werkstatt+page+"|Bearbeitungslink]]</small><br />'''Kommentare:'''";fehlt einbreak; - Du willst im Switch nicht auf 1 prüfen, sondern auf alles außer 0. ==>
default:oder sinnvollerif - Nochmal die
case 0:-Zeile: Was ist p? - Du definierst r zweimal.
- --Steef 389 12:05, 22. Okt. 2011 (CEST)
- Ergänzend zu Steef, warum du die ArticleId nicht auf 1 prüfen willst: 0 Ist sie nur, wenn der Artikel noch nicht existiert (du auf der Anlegen-Seite bist). 1 ist sie nur auf dieser nicht existenten Seite (du wirst daher auf die Haupseite weitergeleitet).
- Dann habe ich für dich mal eine ansprechende Einrückung vorgenommen.
- Abgesehen davon definierst du dir eine Variable
dialog, ohne sie zu nutzen, und du hast die Variablep, deren Propertygrunddu abfragst, nicht definiert. - Ich vermute mal, du willst auf
if (mw.config.get('wgArticleId') != 0) r += "<br />"+window.prompt("Gib bitte einen Grund ein", "");hinaus. - -- ✓ Bergi 20:45, 22. Okt. 2011 (CEST)
- Ich habe den Code oben verändert. Ist es jetzt richtig? --Buckesfelder - Diskussion - Bewertung - Email 19:45, 23. Okt. 2011 (CEST)
- Ich kann dir nur sagen, ob es richtig ist, wenn du mir sagst, was es tun soll. Rein technisch: das
breakgehört da nicht hin und die Variabledialogerfüllt immer noch keinen Zweck. -- ✓ Bergi 22:30, 23. Okt. 2011 (CEST)- Tut mir leid. Grundsätzlich soll das Skript das tun, weshalb ich es mir damals gewünscht habe. Nur möchte ich jetzt auch, wenn der Artikel existiert, beim Hinzufügen in ein Feld eingeben können, was ich verbessern möchte. Dies soll dann bei Kommentare angezeigt werden. Grüße --Buckesfelder - Diskussion - Bewertung - Email 05:59, 24. Okt. 2011 (CEST)
- OK, habe das Skript mal so umgeschrieben wie ich es dann machen würde. Den Zeilenumbruch nach der Überschrift muss du als Zeilenumbruch
\n, nicht als<br />schreiben; das habe ich mal ersetzt wo ich es sinnvoll fand. Übrigens: Wenn du einfach an die Seite unten einen Abschnitt hinzufügen willst (ohne Anker), dann ließe sich das auch per API direkt erledigen. -- ✓ Bergi 07:47, 24. Okt. 2011 (CEST)- Vielen, vielen Dank. Du bist super! Es benötige es weiterhin per Anker, da unten drunter noch Text stehen soll. Also vielen Dank nochmal. --Buckesfelder - Diskussion - Bewertung - Email 08:03, 24. Okt. 2011 (CEST)
- Ein paar optische Kleinigkeiten habe ich noch:
- Der Absatz sieht doch doof aus, deshalb weg.
- Kommentare soll fett geschrieben sein.
- Jedes Kommentar soll mit * davor versehen sein.
- Es wäre toll, wenn hinter dem Grund, den man eingibt, automatisch --~~~~ angefügt werden könnte.
- Grüße --Buckesfelder - Diskussion - Bewertung - Email 08:38, 24. Okt. 2011 (CEST)
- Ein paar optische Kleinigkeiten habe ich noch:
- Vielen, vielen Dank. Du bist super! Es benötige es weiterhin per Anker, da unten drunter noch Text stehen soll. Also vielen Dank nochmal. --Buckesfelder - Diskussion - Bewertung - Email 08:03, 24. Okt. 2011 (CEST)
- OK, habe das Skript mal so umgeschrieben wie ich es dann machen würde. Den Zeilenumbruch nach der Überschrift muss du als Zeilenumbruch
- Tut mir leid. Grundsätzlich soll das Skript das tun, weshalb ich es mir damals gewünscht habe. Nur möchte ich jetzt auch, wenn der Artikel existiert, beim Hinzufügen in ein Feld eingeben können, was ich verbessern möchte. Dies soll dann bei Kommentare angezeigt werden. Grüße --Buckesfelder - Diskussion - Bewertung - Email 05:59, 24. Okt. 2011 (CEST)
- Ich kann dir nur sagen, ob es richtig ist, wenn du mir sagst, was es tun soll. Rein technisch: das
- Ich habe den Code oben verändert. Ist es jetzt richtig? --Buckesfelder - Diskussion - Bewertung - Email 19:45, 23. Okt. 2011 (CEST)
Ich habe es geschafft und aus Euphorie gleich noch einen weiteren Grund hinzugefügt. Doch der funktioniert so nicht. Wie muss ich es verändern, dass Grund 2 funktioniert und ich später auch noch weitere Gründe einbauen könnte? --Buckesfelder - Diskussion - Bewertung - Email 09:09, 25. Okt. 2011 (CEST)
- Funktionieren tut er schon (er könnte sich höchstens aufregen, dass du nicht deklarierte Variablen verwendest), bloß musst du so halt exakt 2 Gründe eingeben um eine Ausgabe zu bekommen. Eine Möglichkeit, viele Gründe einzugeben, sähe vielleicht so aus (mit expliziter Klammerung):
<syntaxhighlight lang="javascript" style="margin-left:2em;"> … var r = "\n== "+decodeURIComponent(page).replace(/ /g," ")+" =="; if (mw.config.get('wgArticleId')==0) { // wenn Seite (noch) nicht existiert
r += "\nBearbeitungslink";
} else { // sonst
var grund,
gründe = [];
while( grund = window.prompt("Gib bitte "+(gründe.length?"einen weiteren":"den ersten")+" Grund ein\nFreilassen zum Abbrechen", "")) { // solange etwas eingegeben wird
gründe.push(grund);
}
if( gründe.length > 0 ) {
if ( gründe.length == 1 ) {
r += "\nKommentar: "+gründe[0];
} else {
r += "\nKommentare:\n* "+gründe.join("\n* ")+"\n";
} //
r += "--~~~~";
//
}
} return r + match; … </syntaxhighlight>
- Übrigens solltest du dir mal das SelfHTML-Tutorial durchlesen, insbesondere die Grundlagen; die Einführung ist auch ganz sinnvoll. -- ✓ Bergi 11:38, 25. Okt. 2011 (CEST)
- Also das Skript ansich funktioniert jetzt wohl so wie es soll, aber in habe wohl einen Fehler in der Verlinkung gemacht, als ich es von meiner common.js entfernt habe und hier eingefügt habe.
- P. S. : Ich schaue mir die Links mal an. Habe ich eigentlich schon seit langem vor. --Buckesfelder - Diskussion - Bewertung - Email 14:23, 26. Okt. 2011 (CEST)
Die Signatur stand aber, nach dem Speichern und vor dem erneuten Bearbeiten, im Quelltext ausgeschrieben. --Buckesfelder - Diskussion - Bewertung - Email 07:35, 27. Okt. 2011 (CEST)
- Oh, stimmmt. Nowiki in Kommentaren (siehe Beispiel) hilft dagegen, das hab ich in meiner Seite schon lang drin. -- ✓ Bergi 08:02, 27. Okt. 2011 (CEST)
Leider bin ich immernoch nicht weitergekommen. Kann mir jemand helfen? --Buckesfelder - Diskussion - Bewertung - Email 00:13, 28. Okt. 2011 (CEST)
- Na, viel gibt es ja nicht das du an meiner funktionierenden Version geändert hast, oder? Dir sei nochmal die JS-Einführung nahegelegt. Oder ein Debugger, der dir auch etwas in der Form
Syntax error at line 36 while loading http://de.wikipedia.org/w/index.php?title=Benutzer:Buckesfelder/ToDo.js&action=raw&ctype=text/javascriptausgibt (in Zeile 36 wird bemerkt, dass etwas mit der Klammerung nicht stimmt). -- ✓ Bergi 01:37, 28. Okt. 2011 (CEST)- Nachdem ich den Fehler behoben habe, ersetzt das Skript auf Benutzer:Der Buckesfelder/Werkstatt {{{{#if:|subst:}}{{#if:
|Anker
|{{#ifeq:A
|:
|:Anker
|{{#switch:
|=Anker
|#default=Anker}}}}}}{{#ifeq:Neu|Neu|{{#if:|
}}|Neu}}{{#ifeq:x|{{{3}}}|{{#if:|
}}|{{{3}}}}}{{#ifeq:x|{{{4}}}|{{#if:|
}}|{{{4}}}}}{{#ifeq:x|{{{5}}}|{{#if:|
}}|{{{5}}}}}{{#ifeq:x|{{{6}}}|{{#if:|
}}|{{{6}}}}}{{#ifeq:x|{{{7}}}|{{#if:|
}}|{{{7}}}}}{{#ifeq:x|{{{8}}}|{{#if:|
}}|{{{8}}}}}{{#ifeq:x|{{{9}}}|{{#if:|
}}|{{{9}}}}}{{#ifeq:x|{{{10}}}|{{#if:|
}}|{{{10}}}}}{{#ifeq:x|{{{11}}}|{{#if:|
}}|…}}{{#if:|
}}}}{{#if: | (Anzahl der Einbindungen)|}} durch undefined. Warum? --Der Buckesfelder - Diskussion - Bewertung - Email 18:38, 30. Okt. 2011 (CET)
- Hast du hiermit nicht. Der Debugger sagt, dass er an der Stelle merkt, dass eine Klammer fehlt, und nicht, dass die Klammer an der Stelle fehlt (woher soll er denn das wissen?). Hast du die paar Seiten Syntax-Einführung auf SelfHTML schon gelesen?
- Tipp: Der return-Befehl wird nicht erreicht, daher gibt die Funktion einen undefinierten Wert (void) zurück, der bei der automatischen Stringkonversion zu dem Ergebnis
"undefined"führt. -- ✓ Bergi 18:57, 30. Okt. 2011 (CET)- Der Debugger sagte mir, dass an diese Stelle "}" gehört.
- Nein, ich hatte leider noch keine Zeit. --Der Buckesfelder - Diskussion - Bewertung - Email 20:01, 30. Okt. 2011 (CET)
- Jetzt sagt der Debugger mir gar nichts mehr und ich kommen nicht weiter. --Der Buckesfelder - Diskussion - Bewertung - Email 14:50, 31. Okt. 2011 (CET)
- Code aktualisiert. --Der Buckesfelder - Diskussion - Bewertung - Email 14:52, 31. Okt. 2011 (CET)
Noch jemand da? Ich komme einfach nicht weiter. Ich habe schon überlegt, ob ich nicht jeden Befehl mit <syntaxhighlight lang="javascript" style="margin-left:2em;">try</syntaxhighlight> testen sollte. Und um euch nicht mehr so auf die Nerven zu gehen, habe ich mir folgendes Buch ausgeliehen: {{#invoke:Vorlage:Literatur|f}}. --Der Buckesfelder - Diskussion - Bewertung - Email 15:18, 4. Nov. 2011 (CET)
- Nein, try hilft da nicht weiter - das verwirrt bloß. Dass du ein Buch lesen willst, ehrt dich - wahrscheinlich hätte es die Einführung von SelfHTML auch getan. Allerdings gibt es sowohl (deutlich) schlechtere als auch deutlich bessere Bücher als SelfHTML, wichtig ist das Herausgabedatum; ich würde auf alle Fälle ein in den letzten 5 Jahren Erschienenes nehmen. Eigentlich alle JS-Bücher helfen jedem Neuling bei der Einführung und grundliegenden Sprachelementen - aber wie (und ob) der sinnvolle Einsatz, Strategien zur Fehlervermeidung und Skriptstruktur sowie Code-Standards gelehrt werden unterscheidet sich erheblich. Ich muss gestehen, ich habe noch kein Buch gesehen, in das wirklich gut gemacht wird (Für Experten könnte ich ISBN 978-3-7723-6488-4 empfehlen, doch selbst da sind manche Aussagen imho falsch und Beispiele treffen selten den Kern).
- Sobald du das Kapitel zu Kapitel zu Kontrollstrukturen durch hast, sollte dir auffallen dass du Fehler bei der Verzweigung gemacht hast - siehe meinen Tipp. -- ✓ Bergi 00:31, 6. Nov. 2011 (CET)
- Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 15:35, 27. Dez. 2011 (CET)
Ref-Fehler = Popup
Wäre es möglich, dass wenn es Fehler bei den Ref-Tags gibt, ein JS-Popup erscheint und warnt? Bei langen Artikeln übersieht man es oft. Grüße -- Nyan ∗ Dog 16:54, 23. Nov. 2011 (CET)
- Eine schlichte Lösung wäre:
<syntaxhighlight lang="javascript"> if (mw.config.get("wgAction") === "submit") {
jQuery(function() {
if (jQuery(".error").length) {
alert("Schwerer Syntaxfehler im Wikitext");
}
}
);
} </syntaxhighlight>
- Sie wirkt in der Vorschau (in der die ref-Fehler sichtbar sind) und erinnert auch an gut gekennzeichnete Fehler etwa in Vorlagen.
- Die Zeilen wären in deine common.js einzutragen.
- VG --PerfektesChaos 19:34, 23. Nov. 2011 (CET)
- Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 15:35, 27. Dez. 2011 (CET)
Benutzer:Flominator/Weiterleitungshinweis.js
Hallo zusammen, hat jemand eine Idee, wie man das Ding im ausgeblendeten Zustand so verschwinden lassen kann, dass es keinen Platz mehr belegt? --Flominator 18:43, 23. Aug. 2011 (CEST)
- Hallo Flominator, ersetze
- wlHinweis.style.visibility = 'hidden';
- durch
- wlHinweis.style.display = 'none';
- --Wiegels „…“ 19:02, 23. Aug. 2011 (CEST)
- Danke, --Flominator 19:06, 23. Aug. 2011 (CEST)
- Oder gleich <syntaxhighlight lang="javascript" inline>wlHinweis.parentNode.removeChild(wlHiwnweise);</syntaxhighlight>.
- Ansonsten:
document.getElementByIdmusst du nicht prüfen, wenns das wirklich nicht geben sollte (IE<6?) darfs ruhig einen Fehler werfen… Und ersetzeaddOnloadHook()durch$(), das ist etwas schneller und zukunftssicherer. --✓ Bergi 21:31, 23. Aug. 2011 (CEST)
- Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 09:48, 29. Dez. 2011 (CET)
MediaWiki Diskussion:Gadget-HotCat.js#Datei-Namenraum
Dort sind Codereviewer gefragt. :-) --Leyo 13:13, 7. Dez. 2011 (CET)
- …insbesondere, was die Einschränkung auf bestimmte Namensräume angelangt. --Leyo 13:51, 28. Dez. 2011 (CET)
- Archivierung dieses Abschnittes wurde gewünscht von: Leyo 18:47, 2. Jan. 2012 (CET)
API action=query
Hallo allerseits, ich habe eine Frage zur API query. Ich möchte eine Abfrage ob ein bestimmtes Template in einer Seite enthalten ist. Das klappt leider nur soweit dass ich die entsprechende Seite erhalte. http://de.wikipedia.org/w/api.php?action=query&prop=templates&titles=Wikipedia:WikiProjekt_Wappen&format=json
Dazu habe ich entsprechend nur folgende Dokus gefunden (ab 1.19 solls einfacher werden, s.a.Wikipedia:Technik/Skin/JS/mw#.Api):
- http://www.mediawiki.org/wiki/ResourceLoader/Default_modules#wikiScript
- http://www.mediawiki.org/wiki/API:Properties#templates_.2F_tl
Als praktisches Bsp. habe ich die Funktion erstautor bei Benutzer:Schnark/js/autoantraege.js gefunden, leider verstehe die Funktion nicht. Jedenfalls weiß ich nicht wie ich die Daten in einer Variable erhalten soll.{{safesubst:#if:{{subst:ns:0}}||}}{{safesubst:#switch: kapituliere
| | | :) | :-) | ) | smile = ein lächelnder Smiley
| :d | :-d | grins = ein Smileysymbol
| xd | haha | hahaha = ein Smileysymbol
| oh | :o | :-o |staun|shock |schock|shocked|geschockt=ein Smileysymbol
| °-° | augenroll = ein Smileysymbol
| :p | :-p | zunge = ein Smileysymbol
| crazy | 8p | bekloppt = ein Smileysymbol
| grummel | :s | :-s | schmoll = ein Smileysymbol
| ähm | :-/ | :/ | :\ = ein Smileysymbol
| ??? | irritiert = ein Smileysymbol
| übel = ein Smileysymbol
| krank = ein Smileysymbol
| traurig | :( | :-( | sad | trauer = ein Smileysymbol
| wütend | sauer | :(( = ein Smileysymbol
| pfeif | pfeifen = ein Smileysymbol
| feile | feilen = ein Smileysymbol
| cool | 8) | 8-) | B) | B-) = ein Smileysymbol
| zwinker | ;) | ;-) | zwinkern = ein Smileysymbol
| hm | ._. = ein Smileysymbol
| glass | brille | 8-) = ein Smileysymbol
| b | dh | daumen | daumenhoch = ein Smileysymbol
| gutenacht | n8 = ein Smileysymbol
| engel | 0:) | = ein Smileysymbol
| teufel | >:) | böse | devil = ein Smileysymbol
| anbet | anbeten | unwürdig = ein Smileysymbol
| hammer = ein Smileysymbol
| kiss | :x | xo = ein Smileysymbol
| pein | :-"> | :$ | rot = ein Smileysymbol
| blumen | gratuliere | grat | gratulation = ein Smileysymbol
| herz | <3 = ein rotes Herz
| sternchen = Smiley mit Sternchenaugen
| facepalm = ein Smiley hält die Hand vor sein Gesicht(Facepalm)
| whiteflag | kapituliere | kapitulation | weissefahne = ein Smileysymbol
| stern | star = ein Smileysymbol
| skull | schädel = ein Smileysymbol
| metal | wacken = Datei:Metal music stub icon.png
| super | superman = ein Smileysymbol
| pacman | pac-man = ein Smileysymbol
| pc | computer = Datei:Gnome-system.png
| hibiscus | hibiskus = ein Smileysymbol
| mail | post | email = ein Smileysymbol
| working = ein Smileysymbol
| wein | :'( | schluchz = ein Smileysymbol
| applaus | klatschen = ein Smileysymbol
| happyface = ein Smileysymbol
| bye | tschüss = ein Smileysymbol
| idee = ein Smileysymbol
| monkey | affe = ein Smileysymbol
| xmas | weihnachten = ein Smileysymbol
| stop | hand | stopp = ein Smileysymbol
| dragon | drache = Datei:Draghetto.png
| zahnspange | :# = ein Smileysymbol
| bear | 8:° | bär | teddybär | teddy = ein Smileysymbol
| ?) = ein Smileysymbol
| corona = ein Smileysymbol
| \:)/ | hängematte = ein Smileysymbol
| green | grün = ein Smileysymbol
| achselzuck = ein achselzuckendes Smileysymbol
| #default =Vorlage:Smiley: Der Parameter kapituliere wurde nicht erkannt!}}{{#if:kapituliere|}}{{safesubst:#if:{{subst:ns:0}}| |}}{{#if:|}}
Konkret geht es um die "Vorlage:Autoarchiv" und "Vorlage:Autoarchiv-Erledigt" (in dem besagten Skript von Schnark gibt es eine solche Funktion nur ich brauche sie im Edit-Modus). Mein Stand:
<syntaxhighlight lang="javascript"> templateGet = function (callback) { var request $.getJSON(mw.util.wikiScript('api'), {action: 'query', prop: 'templates', titles: wgPageName, format: 'json'}, function (json) { if (!json || !json.query || !json.query.pages) return callback(, true); var page = json.query.pages, page; // warum page zweimal?? for (var p in pages) page = pages[p]; // letzte? if (!page || !page.templates || !page.templates[0] || !page.templates[0].title) return callback(, true); request = page.templates[0].title callback(page.templates[0].title, page.templates[0].ns === 10); // callback fehlt mir wohl!? } ); return (request)
}</syntaxhighlight>
Ich vermute stark jemand hier weiß die Lösung. Liebe Grüße und guten Rutsch.{{safesubst:#if:{{subst:ns:0}}||}}{{safesubst:#switch: grün | | | :) | :-) | ) | smile = ein lächelnder Smiley | :d | :-d | grins = ein Smileysymbol | xd | haha | hahaha = ein Smileysymbol | oh | :o | :-o |staun|shock |schock|shocked|geschockt=ein Smileysymbol | °-° | augenroll = ein Smileysymbol | :p | :-p | zunge = ein Smileysymbol | crazy | 8p | bekloppt = ein Smileysymbol | grummel | :s | :-s | schmoll = ein Smileysymbol | ähm | :-/ | :/ | :\ = ein Smileysymbol | ??? | irritiert = ein Smileysymbol | übel = ein Smileysymbol | krank = ein Smileysymbol | traurig | :( | :-( | sad | trauer = ein Smileysymbol | wütend | sauer | :(( = ein Smileysymbol | pfeif | pfeifen = ein Smileysymbol | feile | feilen = ein Smileysymbol | cool | 8) | 8-) | B) | B-) = ein Smileysymbol | zwinker | ;) | ;-) | zwinkern = ein Smileysymbol | hm | ._. = ein Smileysymbol | glass | brille | 8-) = ein Smileysymbol | b | dh | daumen | daumenhoch = ein Smileysymbol | gutenacht | n8 = ein Smileysymbol | engel | 0:) | = ein Smileysymbol | teufel | >:) | böse | devil = ein Smileysymbol | anbet | anbeten | unwürdig = ein Smileysymbol | hammer = ein Smileysymbol | kiss | :x | xo = ein Smileysymbol | pein | :-"> | :$ | rot = ein Smileysymbol | blumen | gratuliere | grat | gratulation = ein Smileysymbol | herz | <3 = ein rotes Herz | sternchen = Smiley mit Sternchenaugen | facepalm = ein Smiley hält die Hand vor sein Gesicht(Facepalm) | whiteflag | kapituliere | kapitulation | weissefahne = ein Smileysymbol | stern | star = ein Smileysymbol | skull | schädel = ein Smileysymbol | metal | wacken = Datei:Metal music stub icon.png | super | superman = ein Smileysymbol | pacman | pac-man = ein Smileysymbol | pc | computer = Datei:Gnome-system.png | hibiscus | hibiskus = ein Smileysymbol | mail | post | email = ein Smileysymbol | working = ein Smileysymbol | wein | :'( | schluchz = ein Smileysymbol | applaus | klatschen = ein Smileysymbol | happyface = ein Smileysymbol | bye | tschüss = ein Smileysymbol | idee = ein Smileysymbol | monkey | affe = ein Smileysymbol | xmas | weihnachten = ein Smileysymbol | stop | hand | stopp = ein Smileysymbol | dragon | drache = Datei:Draghetto.png | zahnspange | :# = ein Smileysymbol | bear | 8:° | bär | teddybär | teddy = ein Smileysymbol | ?) = ein Smileysymbol | corona = ein Smileysymbol | \:)/ | hängematte = ein Smileysymbol | green | grün = ein Smileysymbol | achselzuck = ein achselzuckendes Smileysymbol | #default =Vorlage:Smiley: Der Parameter grün wurde nicht erkannt!}}{{#if:grün|}}{{safesubst:#if:{{subst:ns:0}}| |}}{{#if:|}} -- πϵρήλιο ℗ 22:26, 30. Dez. 2011 (CET)
- Nachdem ich mir http://api.jquery.com/jQuery.getJSON/ vorgenommen habe bin ich auch nicht weiter. Folgender Code gibt mir ein "error" zurück.
<syntaxhighlight lang="javascript">// Assign handlers immediately after making the request, // and remember the jqxhr object for this request var jqxhr = $.getJSON("http://de.wikipedia.org/w/api.php?action=query&prop=templates&titles=Wikipedia:WikiProjekt_Wappen&format=json", function() {
alert("success");
}) .success(function() { alert("second success"); }) .error(function() { alert("error"); }) .complete(function() { alert("complete"); });
// perform other work here ...
// Set another completion function for the request above jqxhr.complete(function(){ alert("second complete"); });</syntaxhighlight>
Die erste Kodierung ist mir leider zu unübersichtlich, als dass ich sie auf Anhieb lesen und dann darin Probleme finden könnte.
- Ich habe es dir mal so aufgeschrieben, wie ich das lesen kann. Es ist ungetestet, sollte aber klappen.
- Um die Komponenten richtig interpretieren zu können, ist
indexpageidshilfreich. Dann kann man durch das Array.pageids[]schleifen (auch bei einer einzigen Seite), weil im Ergebnis-Objekt immer nach pageids gegliedert wird.- Nach den
.pages[]direkt iteriert es sich aber mühsam. for (var p inist immer tückisch, wenn man ein Objekt nicht selbst gebaut hat. Gerade am Anfang stehen oft Prototypen; man muss also die Eigenarten jeder gefundenen Komponente erst analysieren.
- Nach den
- Wenn du die Erweiterung Firebug in deinem Chrome installiert hast, kannst du die Auskommentierung von
window.console.entfernen. Es zeigt dir die Objektstruktur, was ich auch regelmäßig brauche. Das beantwortet dann auch deine Frage, warum zweimal page. - Dein zweites Beispiel könnte das Problem haben, dass als zweiter Parameter ein query-Objekt (mit einem
format:'json') erwartet wird, und als dritter die Callback-Funktion. Hier sind die query-Parameter in die URL integriert, was grundsätzlich auch geht, aber dann nicht mit$.getJSON(). - Allgemein ermöglicht die abgestufte Analyse des zurückgegebenen JSON eine differenzierte Fehlermeldung.
- So könnte
.pageids[0]einen Wert kleiner/gleich Null enthalten. Dazu käme es (vielleicht nicht bei dieser Anwendung), wenn zwischen dem Laden der Seite zum Angucken und dem Starten der Skript-Anwendung jemand die Seite umbenannt und obendrein die WL gelöscht hätte. - Neben Meldungen für den späteren Anwender tut sich der doofe Entwickler leichter.
- So könnte
<syntaxhighlight lang="javascript"> function template_get() {
jQuery.getJSON( mw.util.wikiScript("api"),
{ action: "query",
prop: "templates",
indexpageids: true,
titles: wgPageName,
format: "json" },
template_callback );
}; // template_get()
function template_callback(json) {
// window.console.log("Hallo Welt");
// window.console.dir(json);
var query = (typeof(json) === "object");
if (query) {
query = json.query;
if (query) {
query = query.pages[ query.pageids[0] ];
if (query) {
query = query.templates;
if (query) {
alert(wgPageName + " enthält " + query.length + " Vorlagen\n"
"Der Name der ersten lautet: " + query[0]);
// window.console.dir(query);
}
}
}
}
}; // template_callback() </syntaxhighlight> In diesem Sinne einen Guten Rutsch --PerfektesChaos 11:49, 31. Dez. 2011 (CET)
@Perhelion: Deine Funktionen sind beide mehr oder minder richtig, in ersterer hast du nur ein Paar Syntaxfehler drin:
<syntaxhighlight lang="javascript">
templateGet = function (callback) {
return $.getJSON(mw.util.wikiScript('api'), {action: 'query', prop: 'templates', titles: wgPageName, format: 'json'},
function (json) {
if (!json || !json.query || !json.query.pages)
return callback(, true);
var pages = json.query.pages, page; // hier lag ein Typo: page_s_
for (var p in pages)
page = pages[p]; // stimmt so, pages ist ein Object mit genau einem Schlüssel
if (!page || !page.templates || !page.templates[0] || !page.templates[0].title)
return callback(, true);
callback(page.templates[0].title, page.templates[0].ns === 10);
}
);
}</syntaxhighlight>
Allerdings hast du, fürchte ich, noch nicht ganz verstanden wie du callback benutzen musst. Deine obige Funktion erzeugt eine lokale Variable request, erzeugt dann ein AJAX-Objekt welches die API asynchron aufruft, und gibt den Wert der Variable request zurück - nach wie vor undefined. Irgendwann – so kein Fehler passiert ist – kommt die Antwort der API, wird von jQuery verarbeitet und deine Funktion mit dem json-Objekt aufgerufen. Deine Funktion extrahiert also irgendwann in der Zukunft den Vorlagennamen der ersten eingebundenen Seite aus der Antwort, und ruft dann die Funktion callback mit dem Ergebnis auf. Diese Funktion kannst du dir also wie einen Event-Handler vorstellen, der vielleicht irgendwann mal aufgerufen wird – templateGet sorgt nur für den Start der Abfrage. Beispielaufruf: templateGet(function(title, isTmpl) { alert("Es wird die "+(isTmpl?"Vorlage":"Seite")+" '"+title+"' eingebunden");} );. Dein zweites Beispiel mit getJSON funktioniert bei mir tadellos (sucess - second sucess - complete).
@PerfektesChaos: indexpageids ist nicht notwendig. Das .pages-Objekt ist ein direkt aus JSON generiertes "plain Object", Object.prototype hat keine enumarablen Properties. Einer for-in-Schleife ist problemlos möglich und imho deutlich weniger umständlich.
weiß -- ✓ Bergi 17:09, 1. Jan. 2012 (CET)
Object.prototypekann durchaus Eigenschaften haben, die einefor-in-Schleife auch aufzählt, nämlich dann, wenn irgendjemand der Ansicht war, den Prototyp mit seinem Zeug zu verschmutzen.indexpageidsist daher durchaus angemessen, wobei ich zugeben muss, dass ich selbst das auch nicht verwende. --Schnark 09:07, 2. Jan. 2012 (CET)
- Mein oben angegebenes Code-Beispiel richtete sich an jemand, der ersichtlich nicht mit API vertraut ist und seine ersten Schritte unternimmt.
- Dass ein Routinier wie Schnark sowas auch in eine einzige Zeile schreiben kann und das bei ihm auch funktioniert, ist eine völlig andere Geschichte. Die fragliche Code-Sequenz stand in seinem Skript, das seine Arbeit tun und nicht als Übungsbeispiel und Ausgangspunkt für Weiterentwicklungen dienen soll.
- Wenn mit 1.19 dieses mw.Api zum Rumspielen und praktischen Benutzen zur Verfügung stand, sollte eine Unterseite Wikipedia:Technik/Skin/JS/Api geschrieben werden; wie auch jetzt schon wp:JS/jQuery allmählich kommen sollte.
- Die if-Abfragen oben sind auch dazu gedacht, in passenden Situationen das else für eine Fehlerbehandlung gegenübergestellt zu bekommen.
- Im vorliegenden Fall ist die pageid der einzigen umgebenden Seite sogar bekannt, nämlich wgArticleId – die sich für einen sicheren Zugriff eignet.
- Quellcode ist zu 90 % dazu da, von Menschen gelesen und auf Anhieb richtig verstanden zu werden; zu 10 % dazu, damit irgendeine doofe Maschine eine Syntax parst und dann so ausführt, wie es buchstäblich da steht.
- Machen kann man sehr viel – wenn man weiß, was man tut, was man besser lässt und was zu tun ist, wenn dies oder jenes nicht mehr funktioniert. Wer noch am Anfang steht, bedient sich besser eines umständlichen, aber sicheren Weges und kann dann hinterher im Einzelfall kürzer fassen.
- Geduldiges 2012 --PerfektesChaos 10:18, 2. Jan. 2012 (CET)
- Um genau zu sein, stehen Teile von
mw.Apibereits jetzt (= 1.18wmf1) zur Verfügung, nur leider sind die undokumentiert und von einem derart beschränktem Umfang, dass sie praktisch nutzlos sind – zumindest ich für mich habe beschlossen, dass ich mw.Api ignorieren werde, solange da nicht irgendetwas Grundsätzliches daran passiert. --Schnark 10:35, 2. Jan. 2012 (CET)
- Um genau zu sein, stehen Teile von
- Genau das meinte ich mit erstmal Rumspielen; erst danach im Lichte der Erkenntnisse eine Doku-Seite schreiben.
- Zurzeit verschmerze ich misslich ein Konzept hinter der Sache.
- Wenn neue Bibliotheksfunktionen eine Vereinfachung beim Abfragen (primär wenig herauszuholen) und bei der Analyse eines Ergebnisses bringen sollten, wären diese vorrangig auf einer neuen Seite darzustellen. Dass die Leutchen sowas könnten, hat sich beim wirklich entlastenden .user.tokens.get("editToken") gezeigt, wobei hier die Arbeit bei PHP lag.
- LG --PerfektesChaos 13:52, 2. Jan. 2012 (CET)
- Vielen Dank für eure Hinweise und Anmerkungen, ich habe jetzt den Grund für meinen Fehler gefunden (wohl nicht gründlich gelesen Datei:Face-blush.svg):
Additional Notes: * Due to browser security restrictions, most "Ajax" requests are subject to the same origin policy; the request can not successfully retrieve data from a different domain, subdomain, or protocol.
Ich habe alles erfolgreich in die anonyme Funktion gepackt Benutzer:Perhelion/signing.js (und Funktionsnamen weggelassen, da ich es nur einmal benötige) Das Feature werde ich unter anderem bei Gelegenheit auf der Scriptseite dokumentieren. PS. Wobei ich nun seltsamer Weise die success und die error Msg bekomme (gestern noch nur success). @PerfektesChaos Ich habe mir auf Chrome und FF den Firebug installiert und auch verwendet, jedoch sehe ich kein Ergebnis bei window.console.Datei:Face-confused.svg -- πϵρήλιο ℗ 10:22, 6. Jan. 2012 (CET)
- Firebug: Die Konsole enthält Filter. Vielleicht erstmal „Alle“ einstellen; die ausgesandten Meldungen sind vom Schweregrad Info/Debug-Info, während Firebug nach Installation vielleicht nur den Schweregrad Fehler oder Warnung anzeigt. Wird schon; geht bei mir seit Jahren. --PerfektesChaos 10:38, 6. Jan. 2012 (CET)
- Archivierung dieses Abschnittes wurde gewünscht von: Perhelion 10:22, 6. Jan. 2012 (CET)
Gadget-Zeitzonenkonverter.js: Schwesterprojektlinks (z.B. Commons) werden missformatiert
K@rl berichtete mir unter Benutzer Diskussion:Saibo#Darstellungsproblem von Commonslink von diesem:
"Und zwar stellt sich der Link wie die Abbildung zeigt dar. Und zwar ergibt sich das wenn das Helferlein:Zeitzonenkonverter aktiv ist. (Lange gesucht - der letzte wars dann schließlich. Ich arbeite mit FF ist schon längere Zeit mit 7. bis 9.0"
Ich selbst kann es allerdings (wenn ich das Helferlein anschalte) mit FF 3.6 und Monobook an Ernst Rüdiger von Starhemberg nicht nachvollziehen. Viele Grüße --Saibo (Δ) 00:05, 28. Dez. 2011 (CET)
- Ich kann es nachvollziehen (dass, nicht weshalb), müsste aber zur Lösung Wikipedia:TSW beiziehen. --Leyo 00:13, 28. Dez. 2011 (CET)
Damit auch ich es verstehe (habe keinen FF7, kann nichts reproduzieren):
- Wenn Zeitzonenkonverter aktiviert wurde und eine
*{{Common… mit Sternchen davor vereinbart ist, sieht das aus wie auf dem Screenshot. - Wenn Zeitzonenkonverter abgeschaltet wurde, sieht die gleiche Seite normal aus.
- Wenn Zeitzonenkonverter aktiviert wurde und eine
{{Common… ohne Sternchen davor vereinbart ist, sieht das normal aus.
Richtig?
- Interessantes Phänomen. Die Hintergründe sollten auf alle Fälle analysiert werden, um daraus zu lernen. Erstmal rätselhaft.
- Das MediaWiki:Gadget-Zeitzonenkonverter.js enthält allerlei veralteten Code, der aber trotzdem mit FF7/8/9 laufen sollte.
- So oder so könnte man die paar Zeilen von Zeitzonenkonverter.js auf aktuelles jQuery umschreiben. Vielleicht löst die in jQuery eingebaute Intelligenz das Problem von selbst.
VG --PerfektesChaos 12:24, 28. Dez. 2011 (CET)
- Deine Analyse (1.–3.) ist zutreffend. Den veralteten, relativ kurzen Code zu aktualisieren, ist bestimmt eine gute Idee. --Leyo 12:50, 28. Dez. 2011 (CET)
- (BK) Habs mir mal angeschaut. Die Funktion
text_ersetzenfunktioniert, wie sie soll, führt also keine Änderung durch. Das Problem liegt in der Zuweisungnode.data = text_ersetzen(node.data);. In den angesprochenen Fällen wird text_ersetzen auf'\n'angewendet. Dieses ist im Quelltext vor dem sisterproject-div vorhanden. Nach der erneuten Zuweisung wird dieses allerdings nicht länger vomParserRenderer (Gecko) ignoriert, sondern angezeigt. Keine Änderung führt also durch die Neuzuweisung zu einer optischen Änderung. Scheint mir ein Firefox-Problem (auch Beta 10) zu sein, im Opera tritt das Problem nicht auf. Gruß --Steef 389 12:52, 28. Dez. 2011 (CET)
- (BK) Habs mir mal angeschaut. Die Funktion
- @Steef – Ich glaube dir deine Darlegungen gerne, habe sie allerdings nicht verstanden. Welcher Parser bei welchem Browser? Tatsächlich der Renderer? Is ja’n Ding. Im Übrigen tatsächlich Browser-spezifisch, erst FF 7… und nur FF/Gecko (7?) auftretend.
- Ohnehin hatte ich von Anfang an nicht verstanden, was überhaupt
node.datasein soll; in meinem DOM kommt das standardmäßig und in dieser Form in diesem Zusammenhang gar nicht vor. Wenn es jemand neu schreibt, landet man vermutlich beitextContentbzw.innerHTMLund vielleicht erledigt sich die Geschichte dann von selbst. - Die ganze Geschichte mit dem Ersetzen des Node rekursiv selbst durch sein i-tes Kind erschließt sich mir in ihrer Sinnhaftigkeit sowieso noch nicht und drängte mir sofortiges Neuschreiben auf, oder aber verständliches Kommentieren.
- Im Übrigen stellte sich mir die Frage, ob man das nicht von vornherein auf NamespaceNumber>0 begrenzen sollte. Auf Disku-Seiten und FzW gibt es sicher reiche Beute; im ANR sind es nur ein paar Kästen der QS und LA zwischen sehr viel Nutztext ohne Signaturen, und bei den wenigen signierten Bausteinen ist die genaue Interpretation der Uhrzeit vermutlich nebensächlich.
- Wird sich lösen lassen; wer schreibt das Zeitzonendings auf jQuery um? --PerfektesChaos 14:28, 28. Dez. 2011 (CET) / 14:32, 28. Dez. 2011 (CET)
- Das Teil braucht wirklich kein jQuery. Ein NodeIterator ist schneller und einfacher.
<syntaxhighlight lang="javascript" style="margin-left:8em;"> // ersetzt CE(S)T durch ME(S)Z (ohne Änderung von Seiten) jQuery(function() { var content = mw.util.$content[0]; if (!content || mw.config.get("wgNamespace") < 0) return; if (mw.config.get("wgNamespace") == 0 && mw.util.$content.text().indexOf(" (CE") == -1) // im ANR schnelle Textsuche return; (function iterate_node(node) { if (node.nodeType === 3) { // Node.TEXT_NODE var text = node.data.replace(/(20\d\d) \(CE(S?)T\)/gi, '$1 (ME$2Z)'); if (text !== node.data) // odd Gecko rendering error
node.data = text;
} else if (node.nodeType === 1 && node.id !== 'editform') { // Node.ELEMENT_NODE for (var i = 0; i < node.childNodes.length; i++) { iterate_node(node.childNodes[i]); // rekursives Ablaufen des DOM } } })(content); });</syntaxhighlight>
- Da propagiere ausgerechnet ich als alter DOM-Freund mal jQuery, und nun ist es wieder nicht genehm.
- In der Gadget-Beschreibung heißt es: Der Zeitzonenkonverter wandelt beim Betrachten (nicht aber beim Bearbeiten, Speichern, etc.) in Signaturen alle „CET“ und „CEST“ in „MEZ“ bzw. „MESZ“ um.
- Dementsprechend würde ich umhüllend
wgNamespaceNumber > 0(das Tool muss nicht unbedingt den Artikel-Text verfälschen; sonst >=0) und danachwgAction==="view"fordern. BEO hat keine Signaturen, und auch keine Zeitzone. Versionsgeschichte auch nie. Bei einer Diffpage sollte man die Original-Texte der Autoren sehen, und nicht irgendeine manipulierte Wirklichkeit.
- Dementsprechend würde ich umhüllend
- Man könnte vor dem Start der Iteration noch den gesamten Text fragen, ob überhaupt
" CET"oder" CEST"irgendwo enthalten sind, zumindest in einem Rutsch" CE".
Guten Rutsch --10:00, 29. Dez. 2011 (CET)
- jQuery zu propagieren wird nie gerne gesehen (langsam und oft umständlich), und wenns per Standard-DOM einfacher geht schon gar nicht. :-)
- Die Gagdet-Beschreibung bezieht sich auf „editiert nicht im Quelltext herum“, die Vorschau soll durchaus verändert werden.
wgAction=="view"ist sicher nicht das einzige, die Nicht-Standardisierung ist genau der Grund warum ich wgAction nicht mag. Unterschriften im ANR sollten durchaus erfasst werden, daher würde ich höchstens Spezialseiten davon ausschließen. Diff-Ansichten sollten ebenso verändert werden, höchstens.diffkönnte man ausschließen (und wenn schon so kompliziert dannpre.codeund.exampleauch… :-) - Die Idee ist gut, ich frage mich aber ob das nötig ist. Muss nicht eine innerHTML-Serialisierung auch den ganzen Baum durchlaufen? Auch wenn
String.indexOfvermutlich schneller als der RegEx ist, glaube ich nicht dass das Skript Performance-Probleme hat. -- ✓ Bergi 11:42, 29. Dez. 2011 (CET)
- Erst Schnark hat mich dieses Jahr zu jQuery gebracht; mein anderes Ich ist in DOM strukturiert.
- Ich benutze dieses Gadget nicht. Mir ist es wurst, wie die Zeitzone dargestellt wird.
- Ich akzeptiere, dass es Benutzer gibt, die mit unverständlichem Denglisch Probleme haben, und helfe gern.
- Ich verstehe, dass in Disku-Seiten und auf FzW etc. die Signaturen mit MEZ dargestellt werden sollen.
- Ich habe ein erkenntnistheoretisches Problem damit, wenn die Wirklichkeit durch so viele Filter und Gaukeleien geschickt wird, dass meine Großhirnrinde am Ende nicht mehr Wirklichkeit und Realität unterscheiden kann. Das Bild auf meiner Netzhaut steht Kopf, irgendwer dreht es heimlich herum, der 2D-Flachbildschirm zeigt mir Fotos, ich sehe eine 3D-Welt, geheime Agenten bei Google entscheiden darüber, welche Suchergebnisse für mich wichtig sind und zeigen mir ihren Ausschnitt aus der Welt.
- In einem Artikeltext könnten Zitate und Originaltexte vorkommen, die nicht verfälscht werden dürfen. Dafür sind ein paar QS/Belege und zeitweilig LA nachrangig, und weitaus überwiegend kommen Inhalte vor und keine Signaturen.
- Auf einer Diffpage wird der ursprüngliche Quelltext zweier Versionen verglichen, und nicht veränderte Illusionen von Quelltext.
- Im DOM kann man
$content[0].textContentper.indexOf()durchsuchen. Wahrscheinlich wird.textContenterst in dem Moment gebildet, in dem es abgefordert wird, aber es wird von kompiliertem C++/Java im Browser generiert und nicht durch ein dödelndes JS in jQuery oder Wiki Knoten für Knoten iteriert.- Bei einem Artikeltext (wenn man schon ANR flöht) würde sich das lohnen. Auf einer Disku-Seite ist es Unfug, weil es praktisch immer einen Treffer geben müsste, wenn auf der Seite schon was passiert ist; ansonsten wäre sie sehr kurz. Für NS>0 würde ich auf eine Vorab-Inspektion verzichten.
- Bei älterem IE ist
.textContentunbekannt und heißt dort wohl.innerText, wenn ich das recht erinnere. Was wann warum.dataohne Benutzereingriff sei, hat sich mir immer noch nicht erschlossen.$content.text()müsste Browser-unabhängig aus dem Browser-internen DOM die reine Zeichenkette des Seiteninhalts extrahieren, ohne viel JS für eine Iteration zu benutzen.
- Soviel zur Philosophie --PerfektesChaos 12:52, 29. Dez. 2011 (CET)
- Ich empfehle Gehirn-Datenbank-Anschluss ohne Umwege, sodass du die Wirklichkeit der Bits und Bytes auf den WMF-Servern ohne erkenntnistheoretisches Problem nachvollziehen kannst. Vielleicht entkommst du so aus der Matrix… :-)
.dataist die write/read-Property, die den Inhalt von Textknoten darstellt. (MDN ist grad unavailable, Link kommt später)- Ich kann deine Befürchtungen nachvollziehen was das Verändern von Artikeltext angeht, dir jedoch versichern dass
/20\d\d \(CES?T\)/ginirgendwo außerhalb einer Unterschrift auftaucht. -- ✓ Bergi 15:01, 29. Dez. 2011 (CET)
- Könnte bitte jemand mit dem Problem-Browser mein obiges Skript testen? Sollte sich einfach in der Konsole ausführen lassen, wer nicht weiß wie das geht kann den Code (bitte mit Herkunftsangabe) auf seine /common.js-Seite kopieren und das Gadget natürlich ausschalten. -- ✓ Bergi 22:56, 6. Jan. 2012 (CET)
- Testen kann ich leider nicht.
- Der Code sieht aber zumindest optisch gut aus – was einen Test leider nicht ersetzen kann.
- Steef389 hat die Beseitigung des Bug im FF veranlasst – am 1. Januar 2013 kann der workaround auch aus dem Gadget wieder raus; dann müsste sich diese Browserversion von den WP-Autoren entmaterialisert haben.
- Ansonsten ist das Gadget ja jetzt flotter als zuvor.
- --PerfektesChaos 23:46, 6. Jan. 2012 (CET)
- Ich habe Bergis Script in der Web-Konsole ausprobiert, auf dieser Diskussionsseite und auf Ernst Rüdiger von Starhemberg. Es schien alles wie gewünscht zu klappen. Fehlermeldungen oder Warnungen habe ich keine gekriegt. Gibt's eine Seite, die sich besonders gut zum Testen eigenen würde? --Leyo 02:10, 7. Jan. 2012 (CET)
- Im Prinzip geht es mit jeder Seite die auf ein oder mehrere Mediawikiprojekte verweist. --K@rl (Verbessern ist besser als löschen) 16:43, 8. Jan. 2012 (CET)
- PS. aktuell mit FF9.01 war aber bereits die letzten 2 Jahre (Version kann ich da nicht mehr genau nachvollziehen. --K@rl (Verbessern ist besser als löschen) 16:45, 8. Jan. 2012 (CET)
- Script funktioniert mit FF 10. Und der Bug existiert seit Firefox 4.0b8. --Steef 389 20:11, 8. Jan. 2012 (CET)
- Wenn kein Widerspruch kommt, überschreibe ich MediaWiki:Gadget-Zeitzonenkonverter.js mit dem neuen Script. --Leyo 21:31, 8. Jan. 2012 (CET)
- Ich würde mich freuen und sage im Vorhinein schon danke :-) --K@rl (Verbessern ist besser als löschen) 21:48, 8. Jan. 2012 (CET)
- Ich habe das Script von Bergi übernommen. --Leyo 14:32, 12. Jan. 2012 (CET)
- Ich würde mich freuen und sage im Vorhinein schon danke :-) --K@rl (Verbessern ist besser als löschen) 21:48, 8. Jan. 2012 (CET)
- Wenn kein Widerspruch kommt, überschreibe ich MediaWiki:Gadget-Zeitzonenkonverter.js mit dem neuen Script. --Leyo 21:31, 8. Jan. 2012 (CET)
- Script funktioniert mit FF 10. Und der Bug existiert seit Firefox 4.0b8. --Steef 389 20:11, 8. Jan. 2012 (CET)
- Ich habe Bergis Script in der Web-Konsole ausprobiert, auf dieser Diskussionsseite und auf Ernst Rüdiger von Starhemberg. Es schien alles wie gewünscht zu klappen. Fehlermeldungen oder Warnungen habe ich keine gekriegt. Gibt's eine Seite, die sich besonders gut zum Testen eigenen würde? --Leyo 02:10, 7. Jan. 2012 (CET)
- Archivierung dieses Abschnittes wurde gewünscht von: Leyo 11:59, 17. Feb. 2012 (CET)
Bearbeiten und Versionsgeschichte verschwinden
Hallo nochmal.
Wenn ich
importScript('Benutzer:Giftpflanze/split-tabs.js'); //[[Benutzer:Giftpflanze/split-tabs.js]]in meine common.js einbaue, verschwindet der Bearbeitungs- und der Versionsgeschichte-Button. Falls es hilft: Ich benutze das Vector-Skin. Was kann ich dagegen tun? --Der Buckesfelder - Benutzer - Diskussion - Bewertung 20:01, 10. Aug. 2011 (CEST)
- Was soll denn das Skript eigentlich bewirken (ja, kann ich auch aus dem Code erahnen), gibts ne Doku, ist das zurzeit überhaupt lauffähig? Erstmal beim verantwortlichen Benutzer nachfragen. Ist es gar eine Feature und kein Bug?
- Ansonsten: Vector stellt ein paar Skripte zur Verfügung, die dynamisch von der Fensterbreite abhängig Tabs (wie Bearbeiten und Versionsgeschichte) in das „Vector-Menu“ unter dem Ausklapp-Pfeil transferieren. Nachdem das Skript aber an der Editleiste rumändert, kann es dabei zu Fehlfunktionen kommen. Und wenns das nicht ist: Das Skript scheint die Buttons erstmal alle zu entfernen, um sie danach (bedingt?) wieder anzubringen. Wenn es dazwischen abstürzt, sind natürlich alle weg. Tut es das? --✓ Bergi 20:34, 10. Aug. 2011 (CEST)
- Am besten auf Benutzer:Giftpflanze mitteilen oder Benutzer auf diese Diskussion aufmerksam machen, und dabei neben eventuellen Meldungen in der Fehlerkonsole deines Browser vor allem auch die Größe deines Bildschirms nennen. Das
$('ot-addsection')im Skript ist jedenfalls definitiv falsch, aber das kann die genannten Probleme nicht verursachen. --Schnark 12:09, 11. Aug. 2011 (CEST)- Erklärst du mir, warum das falsch ist? Und ein Screenshot wäre auch gut. – Giftpflanze 21:06, 13. Aug. 2011 (CEST)
- Schnark ist die nächsten 2 Wochen out of Wikiverse; insofern antworte ich mal zwischendurch.
- Ohne in dein Skript zu gucken:
$('ot-addsection')ist verdächtig; der Selektor beginnt mit . für Klasse oder # für ID. Ohne beides ist es nicht die nahegelegte Funktionalität. - Beste Grüße --PerfektesChaos 21:55, 13. Aug. 2011 (CEST)
- Erklärst du mir, warum das falsch ist? Und ein Screenshot wäre auch gut. – Giftpflanze 21:06, 13. Aug. 2011 (CEST)
- Am besten auf Benutzer:Giftpflanze mitteilen oder Benutzer auf diese Diskussion aufmerksam machen, und dabei neben eventuellen Meldungen in der Fehlerkonsole deines Browser vor allem auch die Größe deines Bildschirms nennen. Das
Ein bekannter Fehler ist es, dass die Tabs sich ineinanderschieben und dabei teilweise die linken die rechten überdecken. Wenn man die Fenstergröße variiert, berechnet Vector die Tabs jedoch neu. Dann verschwinden überzählige Tabs im Aufklappmenü. Bei der Benutzung des Skripts ist eine große Fenster- bzw. Bildschirmbreite vorteilhaft. An die Profis: Kann man Vector nach der Umgestaltung der Tabs eine Anweisung geben, die Darstellung anzupassen (wie bei der Änderung der Fenstergröße)?Habs jetzt selbst gefunden. – Giftpflanze 21:06, 13. Aug. 2011 (CEST)
- Wo stelle dich denn die Größe ein? Ist die Bildschirmgröße gemeint? Die Größe im Reiter Aussehen in den Einstellungen ist ja nur für Dateibeschreibungsseiten, oder? --Der Buckesfelder - Benutzer - Diskussion - Bewertung 09:28, 14. Aug. 2011 (CEST)
- Das Browserfenster ist maximiert. --Der Buckesfelder - Benutzer - Diskussion - Bewertung 21:17, 21. Aug. 2011 (CEST)
- So, was issn hier, irgendwie scheinen wir festzustecken … – Giftpflanze 12:11, 18. Sep. 2011 (CEST)
- Das Browserfenster ist maximiert. --Der Buckesfelder - Benutzer - Diskussion - Bewertung 21:17, 21. Aug. 2011 (CEST)
Frage von mir zum Skript: scheint seit neuestem unter secure nicht mehr zu funktionieren. – Giftpflanze 19:43, 29. Sep. 2011 (CEST)
- Was du da machst, nennt man „gefahrengeneigt“.
- Erstmal zum Verständnis: Die Vector-Skin betrachtet die aktuelle Breite des Browserfensters. Sie kennt die Beschriftung der Links für content action und stellt eine Mutmaßung an, wie viele dieser Beschriftungen in die als horizontale Leiste sichtbaren Tabs hineinpassen. Alle weiteren Links werden in das vertikale PopUp unter ▼ gesetzt. Grundsätzlich ist die Vector-Skin in der Lage mitzubekommen, wenn (ohne Neuladen der Seite) das Browserfenster breiter gezogen wird. Sie kann dann die obersten Links aus dem vertikalen PopUp herausnehmen und rechts an die Tab-Leiste anfügen. Wird die Breite des Browserfensters verringert, kann die Vector-Skin so viele Elemente rechts wegnehmen und oben auf das vertikale PopUp stapeln, bis es wieder passt.
- Ich programmiere nicht erst seit gestern, aber in einen solchen Vorgang würde ich nur eingreifen wollen, wenn es absolut unvermeidlich ist.
- Die Programmierer der Vector-Skin sind völlig frei, jederzeit ihr Skript zu ändern und auf Breitenänderung zu reagieren oder auch nicht und ihre dynamischen Strukturen anders zu gestalten, ohne jemand darüber informieren zu müssen. Sie müssen nicht damit rechnen, dass ein Benutzerskript hier eingreift.
- Dass in diesem Benutzerskript irgendwann mal was nicht funktioniert, mag sein; aber es wird wohl wenig Neigung bestehen, dem hinterherzudebuggen und es irgendwie hinzuflicken.
- Beste Grüße --PerfektesChaos 08:28, 30. Sep. 2011 (CEST)
- Mit dem Update auf 1.18 (voraussichtlich Montag) kommt dann auch noch bugzilla:31212 dazu. --Schnark 09:36, 30. Sep. 2011 (CEST)
- Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 15:07, 14. Jul. 2012 (CEST)
js: Output von Tool sortieren / weiterleiten
Hallo, mag sich vielleicht jemand dies anschaun? Beste Grüße, ca$e 09:14, 19. Sep. 2011 (CEST)
- Ich habe die Bausteine für sowas zur Hand und könnte es rein technisch.
- Allerdings habe ich zurzeit noch einige Baustellen offen und muss sie vorrangig auf einen soliden (halb-)fertigen Status bringen, bevor ich etwas Neues anfangen kann. Kann also noch etwas dauern; wenn jemand anders vorher anfängt, bitte hier Nachricht hinterlassen.
- Unbeschadet dessen versuche ich erstmal, eure Disku und Wünsche in eine Spezifikation umzusetzen:
- Ihr möchtet zwei Seiten haben:
- WP:Admin/.../.../IP-contrib
- WP:Admin/.../.../IP-contrib.js
- Die erste Seite ist ein Formular, in das man eine Anfrage eintragen kann.
- Die zweite Seite ist ein JS, das interessierte Benutzer in ihre common.js etc. eintragen können.
- Das Formular enthält folgende Felder:
- IP (=range-begin)
- Optional: range-end
- Optional: namespace-only
- Optional: Anzahl (Letzte; etwa 50)
- Optional: Datum-Anfang (seit...) automatisch ausgefüllt bei Fortsetzung
- Optional: Datum-Ende (bis...)
- Nach dem Auslösen steht auf der Formular-Seite zusätzlich folgende sortierbare Tabelle:
- Ihr möchtet zwei Seiten haben:
| IP | timestamp | Seite | BK | Sonst noch was?? |
|---|
- So richtig?
- Ggf. ergänzen/ändern.
- Die beiden Seiten WP:Admin/.../.../ schon mal leer anlegen und hier den Namen hinterlassen.
- So richtig?
- Nebenbei: Diese Seite hier verfügt sowohl über das Feature „Neuen Abschnitt hinzufügen“ wie auch mit gleicher Wirkung „Neue Frage stellen“. Dies bewirkt den angemessenen und sachgerechten Bearbeitungskommentar und ermöglicht den Beobachtern und Werkstattmitarbeitern den Überblick. Wenn unter falschem Bearbeitungskommentar fälschlich Stränge angezeigt werden, an denen man nicht mitarbeitet, führt das zum Ignorieren des neuen Abschnitts, wie hier zunächst geschehen.
- VG --PerfektesChaos 13:03, 19. Sep. 2011 (CEST)
- ja. super. vielen dank schon mal! jeweils (mit) difflink halt (noch). und möglichst so, dass man das (ergebnis)formular über url(-parameter) "ausfüllen" kann. ca$e 13:10, 19. Sep. 2011 (CEST)
- Nicht ganz verstanden habe ich: „so, dass man das (ergebnis)formular über url(-parameter) "ausfüllen" kann“ – das einzige zum Ausfüllen wäre die Eingabe einer IP-Adresse, ggf. einer zweiten als range-Ende. Und diese sollen über URL-Parameter vorbelegt werden? Wo käme denn nun wieder diese URL her? Grundsätzlich aber machbar.
- difflink ist kein Problem: Vergleich des Zustands vor dem IP-Edit und IP-Edit; Anzeige der diffpage in einem gesonderten (aber immer demselben) Browser-Fenster/Tab. Damit sähe die Tabelle so aus:
| IP | timestamp | Seiten-Name | BK | diff | Sonst noch was?? |
|---|
- --PerfektesChaos 18:49, 19. Sep. 2011 (CEST)
Und da möchtest du hineinschreiben:
/wiki/Wikipedia:Admin.../.../IP-contrib?IPbeg=127.0.0.0&IPend=127.0.0.255
Okay, wenn man das weiß, lassen sich die Formularfelder vorbelegen, falls die URL sowas enthält.
Und wohin bei WP:Admin soll der Spaß? --PerfektesChaos 21:33, 19. Sep. 2011 (CEST)
- hmm... habe oben wohl nicht bei allem mitgedacht, darum: geht das denn innerhalb von wikipedia, so ein formular, was dann eine aufruf-url für /wiki/.../IP-contrib.js generiert? wenn ja, würde ich als ort vielleicht sowas wie Wikipedia:Helferlein/IP-Beiträge o.ä. vorschlagen. (mir persönlich würde ein Benutzer:PerfektesChaos/IP-contribs.js zum einbinden in meine monobook.js ja schon reichen. aber noch ein abfrage-formular dazu wäre natürlich hübsch.) ca$e 21:44, 19. Sep. 2011 (CEST)
- hmm. könnte man das splarka skript (kopie unter Benutzer:Ca$e/contribsrange.js) vielleicht relativ schnell umbasteln, so dass nach timestamp sortiert wird? müsste man aus dem cidr[i] array als key abgreifen können, auf den ersten blick... sorry, habe selbst leider zu wenig zeit gerade, um da weiter darüber zu grübeln, gewiss kannst du / vielleicht sonstwer das viel besser & v.a. schneller anschaun? ca$e 22:28, 19. Sep. 2011 (CEST)
- Gehen tut der oben beschriebene Weg schon, keine Bange. (NB: Es gibt eine Formular-Seite, in der mindestens eine IP ausgefüllt wird; dann drückt man auf „Abschicken“ und bekommt auf derselben Seite die spezifizierte Tabelle angezeigt. Möglich ist alles, was die API ’rausrückt.) Ob das nun im WP-Namensraum als WP:Admin oder Helferlein oder als ein Benutzerskript bei mir residiert, steht dahin. Die erste Variante würde eine Weiterentwicklung von meiner Person ablösen.
- A propos Weiterentwicklung: Ein Umbasteln von Benutzer:Ca$e/contribsrange.js mag gern geschehen, aber nicht durch mich.
VG --PerfektesChaos 09:19, 20. Sep. 2011 (CEST)
- ok, das ist natürlich großartig! ca$e 09:25, 20. Sep. 2011 (CEST)
Tja, nach dem neuen Software-Update scheint namespace-Eingrenzung bei contribs und auch Benutzer:Jan eissfeldt/contribsrange.js / das CIDR-Helferlein nicht mehr zu funktionieren. Benutzer:PDD/hideduplicatecontribs.js tut noch gut. Vielleicht könnte man gleich alles auf einmal lösen, also eine hübsche neue Beitragslisten-Modifikation, die a) API abfragt auch nach user-prefix, b) namespace / regex (vgl. das bei mir auch noch nicht funktionierende Gadget-rightsfilter.js) eingrenzen kann, c) nach Datum sortieren kann, d) filtern kann z.B. nach "nur kleine Edits" u.ä.? ca$e 13:08, 6. Okt. 2011 (CEST) Hat sich erstmal weitgehend erledigt, weil die Namespace-Filterung wieder da ist... ca$e 16:46, 6. Okt. 2011 (CEST)
- Ich denke, im Moment (in den nächsten Tagen/Wochen) müssen sowohl ich wie auch die Kollegen sich beschäftigen mit MW1.18, der Anpassung existierender Software an veränderte Umstände und dem Ausprobieren der neuen Spielzeuge, die uns MW1.18 gebracht hat. Es dürfte einen gewissen Rückstau geben an Implementierungen, die zurückgestellt waren bis zum fehlerfreien Funktionieren von 1.18, und die jetzt umgesetzt werden können.
- Ich habe inzwischen die Bausteine und eine Konzeption für deinen Wunsch gesammelt; bin jedoch auf Wochen hinaus ausgebucht, angebissene JS-Projekte usw. zum definierten Abschluss zu bringen. – Das ist so ähnlich wie wenn man drei Paletten Ziegelsteine auf der Baustelle zu stehen hat; davon ist das Dach noch nicht drauf, gemauert werden müsste schon noch.
- Beim konzeptionellen Durchdenken fiel mir auf, dass JS als Gadget oder gar Benutzerskript immer ein potenzielles Sicherheitsrisiko für den fremden Benutzer (hier: öfters solche mit Adminrechten) darstellt. Unter der domain toolserver.org wäre der Zugriff auf geschützte Informationen des angemeldeten Benutzers hingegen kaum möglich; reine Statistik- und Auswertungstools wie das hier gewünschte sollten deshalb besser dort residieren. Ich selbst plane allerdings nicht, in den nächsten Jahren den Kontext des toolserver zu erlernen und dort zu entwickeln. Vielleicht erstelle ich aber eine funktionierende JS-Demo, wenn ich zum Mauern komme.
VG --PerfektesChaos 18:22, 6. Okt. 2011 (CEST)
- Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 15:07, 14. Jul. 2012 (CEST)
Thumbbreite in den Kategorien
Mein Werbeblocker (Norton Personal Firewall) filtert von den Kategorieseiten bedauerlicherweise Thumbs mit 120px x 80px oder 120px x 90px wegen "verdächtigem Format" heraus. Da ich nicht weis, ob und wie man die Domain "upload.wikimedia.org" komplett von dieser Prüfung ausnehmen kann, würde ich die Größe der Thumbs ändern, damit der Filter nicht anschlägt.
Ich wollte daher mal fragen, ob jemand den Trick kennt, mit dem man auf Kategorienseiten die Abmessungen der Thumbnails ändern kann. Der Quelltext für so ein Thumb lautet z.B. (hier als Baum dargestellt):
<li class="gallerybox" style="width: 155px">
<div style="width: 155px">
<div class="thumb" style="width: 150px;">
<div style="margin:27px auto;">
<a href="Bildpfad" class="image">
<img alt="Dateiname" src="//upload.wikimedia.org/...." width="120" height="80" />
</a>
</div>
</div>
<div class="gallerytext">...</div>
</div>
</li>
Die HTML-Codierung {width="120" height="80"} überschreibt leider meine CSS-Datei. Geht es evtl. mit dyn. HTML der eigenen JS-Seite ? ÅñŧóñŜûŝî (Ð) 22:21, 9. Okt. 2011 (CEST)
- Variante A: Nimm einen anständigen Werbeblocker. Solltest du gezwungen sein, diesen zu verwenden, mein Beileid.
- Variante B: Erstellen einer Regel zur Umgehung des Werbeblockers
- Variante C, das Skripten einer HTML-Änderung, kann ich nicht empfehlen. Schon allein weil ich nicht weiß, worauf der Werbeblocker reagiert. Verhindert er das Nachladen von Bildern, indem er die Größe des geladenen Bildes überprüft? Baut er den HTML-Quelltext um, den dein Browser überhaupt erst zu sehen bekommt? -- ✓ Bergi 22:57, 9. Okt. 2011 (CEST)
- Zu A: Ich habe diesen Werbeblocker zusammen mit der ganzen Sicherheitssoftware als Dienst vom Provider und bis auf derartige Unzulänglichkeiten ist das Paket ok. Kann man denn einen anderen separat installieren und wo bekommt man den her ?
- Zu B: Es ist wohl keine klassiche HTML-Folge wie "ad" in der URL (das habe ich schon eingetragen und deshalb sehe ich auch einige Thumbs mit /ad/ in der URL). Ein Zulassen von width="120" wirkt jedenfalls nicht.
- Zu C: Schade.
ÅñŧóñŜûŝî (Ð) 00:13, 10. Okt. 2011 (CEST)
- Mal ganz dumm gefragt: „Kategorieseiten“ meint etwa Kategorie:Datei:Chemie?
- Die werden allerdings unabhängig von der in Einstellungen vorgegebenen Artikel-Minibild-Größe konstant mit max=120 und einheitlichem gallerybox-Raster von 155px generiert.
- Grundsätzlich müsste es allerdings möglich sein, mit jQuery und relativ wenigen smarten Zeilen die HTML-Seite so umzugestalten, dass andere Bildgrößen vom Server abgefordert werden; in den upload-png-URL stehen allerdings die 120px fest drin; die müsste man auch umbenennen.
- Bevor man das angeht, müsstest du allerdings wissen, was genau die Blockierung auslöst, sonst wären alle Bemühungen für die Katz. Das hat Bergi schon ganz richtig unter C angemerkt.
- Andere Blocker gibt es kostenlos und reichlich; kommt auf deine(n) Browser an. Für FF ist Adblock Plus ein häufig benutzter.
- Erste Priorität und einfachster Weg wäre allerdings, die Konfigurationsmöglichkeiten deiner vorhandenen Welt zu checken und dort eine Lösung zu finden. Ich weiß nicht, welche Möglichkeiten dein Provider dir zur individuellen Konfiguration lässt. Ich wüsste jetzt auch nicht, welche beschwipste Regel diese Blockierung auslösen sollte. Möglicherweise ist es gar nicht die Bildgröße, sondern eine Besonderheit der URL? Es gibt ja -zig legale Logos auf allen möglichen Websites, die auch ähnliche Größen haben. Die müssten ja dann ebenfalls gefiltert werden. Und du solltest die auslösende Regel schon ermittelt haben; sonst hast du dir alles mühsam umgebaut, und dein Provider schluckt trotzdem weiterhin die Bildchen, bevor sie dich erreichen.
- Mal ganz dumm gefragt: „Kategorieseiten“ meint etwa Kategorie:Datei:Chemie?
- Viel Spaß dabei --PerfektesChaos 01:14, 10. Okt. 2011 (CEST)
- Ich meinte auf Commons:Category:Andromeda_Galaxy
- Ich benutze Opera. Wenn ich dafür einen - möglichst preiswerten anderen Blocker hätte, dann würde ich diesen hier abschalten.
- Die Protokolldatei gibt (Grund: width=120 height=80) als Begründung an. Der Browser zeigt allerdings einen Quelltext mit fehlenden (herausgeschnittenen) IMG-Tags an. Da müsste man doch was machen können ? ÅñŧóñŜûŝî (Ð) 01:32, 10. Okt. 2011 (CEST)
- Zu Opera ist Bergi der Experte.
- Welches WMF-Projekt, ist egal; die gallery bei dieser Art von Kategorie-Medien ist die gleiche.
- „Sicherheitssoftware als Dienst vom Provider“ – hatte ich richtig dahingehend interpretiert, dass dein Provider schon die HTML-Datei beschnipselt und damit den Bildabruf unterbindet, bevor sie dich erreicht? Also du den Norton nicht auf CD geschenkt bekommen hast und der nicht bei dir auf dem Rechner liegt.
- Das würde bedeuten, dass man die HTML-gallery erstmal rekonstruieren und das herausgeschnittene IMG wieder einbasteln müsste, um dann die reparierte Seite erneut zum Laden der Bilder zu veranlassen. – Technisch natürlich machbar, aber ein ziemlicher Akt, bis das funktioniert.
- Umso mehr: Alles an Möglichkeiten durchforsten, die dein Provider dir zur Konfiguration lässt, und diese verdammte Regel finden und deaktivieren.
- Wie dem auch sei – dann Gute Nacht. --PerfektesChaos 02:07, 10. Okt. 2011 (CEST)
- Ist es nur diese eine spezielle Kategorieseite oder besteht das Problem mit allen?
- Wie PerfektesChaos schon schrieb, ist der erste Weg eigentlich die Konfiguration des vorhandenen. Ich meinte auch nicht, dass du Zeichenfolgen wie
120pxwhitelisten sollst, sondern Domains (wie hier*.wikimedia.org/*). Oder alternativ die Thumbregel („beschwipst“ ist ein sehr schönes Wort dafür) finden und deaktivieren. - Adblocking in Opera: Popupblocker ist nativ eingebaut, und man kann eine URL-Blacklist erstellen (u.a. per Kontextmenü→Inhalt blockieren), von der garantiert nichts geladen wird. Diese Blacklists gibts auch gewartet im Internet zum runterladen. Diese Extensions hier machen vermutlich dasselbe, nur etwas komfortabler. Hab ich allerdings noch nie ausprobiert, mir genügt meine persönlich zusammengeklickte Blacklist (ich surf aber auch kaum auf Seiten mit viel Werbung).
meint -- ✓ Bergi 19:02, 10. Okt. 2011 (CEST)
- Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 15:07, 14. Jul. 2012 (CEST)
Nutzung von Commons-Dateien
Es wäre praktisch ein Script zu haben, welches die Nutzung der Dateien in einer Kategorie anzeigt. GLAMorous ist zwar für manche Anwendungen auch nützlich, aber es zeigt nicht an, welche Dateien nirgends verwendet werden. Für Wartungskategorien wie Commons:Category:Images with a TeX equivalent oder Commons:Category:Duplicate ist aber genau das interessant.
Ist es möglich, Spezial:GlobalUsage für jede Datei in der Kategorie effizient via API abzufragen und den Status (im ANR verwendet, in irgendeinem NR verwendet, nirgends verwendet) durch farbliche Unterlegung des Dateinamens zu kennzeichnen? In Wikipedia:WikiProjekt Dateikategorisierung/Werkzeug/x.js ist eine ähnliche Funktionalität (Einfärben) enthalten. --Leyo 10:14, 2. Dez. 2011 (CET)
- Hi; schön, dass du frisch und motiviert aus dem Urlaub zurück bist. Ich melde mich in Kürze bei dir direkt mit dem Stand der Dinge.
- Zu deiner Frage: Das wäre sinnvollerweise in fileAdm direkt einzubauen, weil dort schon diese ganze API-Technologie und Färbe-Technik vorhanden ist. Benenne doch schon mal ein konkretes Farbschema … ;-)
- Liebe Grüße --PerfektesChaos 10:22, 2. Dez. 2011 (CET)
- Das Script soll auf Commons verwendet werden. Durch die Verwendung der dort funktionierenden Funktionalität
&withJS=könnte das Script (ohne „Installation“) von allen Benutzern verwendet werden. --Leyo 10:27, 2. Dez. 2011 (CET)- Das verstehe ich nicht. fileAdm kann ohnehin von allen Benutzern verwendet werden, und wenn irgendein Skript (egal ob fileAdm oder ein anderes) mit
&withJS=gestartet wird und fileAdm merkt, dass es sich gerade auf wgCanonicalSpecialPageName= Spezial:GlobalUsage befindet, dann würde es die gewünschte Aktion ausführen. --PerfektesChaos 10:38, 2. Dez. 2011 (CET)- Mit
withJSkönnen nur Skripte aus dem MediaWiki:-Namensraum dynamisch geladen werden. --Schnark 11:01, 2. Dez. 2011 (CET)
- Mit
- Das verstehe ich nicht. fileAdm kann ohnehin von allen Benutzern verwendet werden, und wenn irgendein Skript (egal ob fileAdm oder ein anderes) mit
- Das Script soll auf Commons verwendet werden. Durch die Verwendung der dort funktionierenden Funktionalität
- Danke für den technischen Hinweis; fileAdm ist aber ohnehin nicht als Benutzerskript konzipiert, und für den Rest gibt es Commons-Admins, etwa den Interessenten. VG --PerfektesChaos 11:22, 2. Dez. 2011 (CET)
- Um zurück auf die Frage zu kommen:
- Ich verstehe das so, dass der Benutzer bei Commons angemeldet wäre.
- Eine API-Abfrage in anderen Projekten ist dann nicht möglich, weil eine asynchrone Query die gleiche Domain voraussetzt (Browser-Sicherheit) – ausgenommen, man würde das veraltete secure.wikimedia.org verwenden.
- Ohne API-Abfrage ist als Benutzer (=JavaScript) eine differenzierte Einfärbung kaum möglich. Diese Information wäre nur von innen (PHP) oder dem Toolserver zugänglich.
- Soweit ich das deute, macht GlobalUsage intern eine Art mw:API:Imageusage über alle Projekte. Das wäre dem Benutzer aus dem Browser heraus nicht möglich.
- Es liefe eher auf eine Weiterentwicklung von glamorous.php hinaus, der mit commons_dupes.php zu kombinieren wäre. Beim letzteren steht ja auch schon:
de.wikipedia : Article (1)– und es gibt Links und Knöpfe für “delete” und “universally replace”. - Wenn du die Differenzierung nach Namensräumen fallen lässt, wäre vielleicht eine JS-Lösung möglich:
- Für jeden Dateinamen der Ausgangsliste (wie Commons:Category:Duplicate) wäre im Hintergrund Spezial:GlobalUsage aufzurufen (&limit=1) und dessen Ergebnis zu analysieren. Die Antwort wäre ja/nein.
- Um eine Namensraum-Aussage treffen zu können, ob ANR oder nicht, müssten bis zum ausschließenden Treffer alle Einbindungen analysiert werden. Das können aber vielfach 500 sein.
- fileAdm kann so generalisiert werden, dass die Methoden des bestehenden Analyse- und Farbdarstellungscodes auf die bisherige und die neue Nutzung anwendbar wären.
- Mit welchen Antwortzeiten zu rechnen ist, steht dahin. Es kann durch ein Skript immer nur eine einzelne Verwendung abgefragt werden. Zwar sind einige Fragen zeitlich parallel denkbar, aber es würde sich ziehen. Immerhin ginge es schneller als manuell.
- LG --PerfektesChaos 10:52, 6. Dez. 2011 (CET)
- Globalusage steht als Query-Prop zur Verfügung. http://commons.wikimedia.org/w/api.php/api.php?action=query&prop=globalusage&generator=categorymembers&gcmtitle=Category%3ADuplicate&gcmtype=file ist damit problemlos möglich. Von Commons kann man sich die Daten per JSONP holen, das ist hier aber nicht nötig, da die Daten von theoretisch dieselben sind - nur kann man in de.wikipedia natürlich nicht die commons:Category:Duplicate abfragen. -- ✓ Bergi 13:55, 6. Dez. 2011 (CET)
- Nur damit ich das auch in den richtigen Hals bekomme: Das soll heißen, es gibt noch mehr prop als auf mw:API:Properties draufsteht?? RRRrrrrrrrrrrrrrrrRRRRRRRrrrrrrr.
commons:Commons:API commons:Commons:Commons APIWenn nicht dort – wo sonst dokumentiert? (Ja, autogenerated, merci) - Danke jedenfalls; damit wäre der Wunsch in fileAdm erfüllbar. --PerfektesChaos 19:16, 6. Dez. 2011 (CET)
- Die API-Doku umfasst nur die Core-Module (Also auch nicht sitematrix, FlaggedRevs, AbuseFilter, CentralAuth, und weitere Extensions die eine API haben). Ich nutze immer die automatisch generierte Hilfe der Seite, wo ich die API anwenden möchte, dann hat man auch kein Problem mit den Versionen. MediaWiki.org ist außerdem häufig outdated. Der Umherirrende 20:20, 6. Dez. 2011 (CET)
- Wieder was gelernt, danke.
- Die von dir vorstehend beschriebenen Punkte wären dann auch prominent in mw:API hervorzuheben. Na gut, outdated könnte als Majestätsbeleidigung gewertet werden und zur weltweiten Benutzersperrung führen. Ich sehe aber Null Hinweis und wusste demzufolge nicht, dass sich in bestimmten Fällen die Suche in der mäßig übersichtlichen autogenerated lohnen kann.
- Wenn ich das richtig deute, wäre Commons der Haupt- oder gar einzige Nutzer von mw:Extension:GlobalUsage – dann sollte commons:Commons:API auch darauf eingehen oder auf ein commons:Commons:GlobalUsage verweisen.
- Schönen Tag --PerfektesChaos 10:28, 7. Dez. 2011 (CET)
- Schön wäre es, wenn sich der Entwickler um das aktualisieren kümmert, der die Änderung gemacht hat, aber das kann man vermutlich nicht verlangen, weil es ja ein Wiki ist und jeder helfen kann. Da aber wenige Benutzer die Code-Änderungen verfolgen und daraus das Wiki aktualisieren, ist es outdated, so kommt es mir zumindestens vor, ich möchte damit aber niemanden beleidigen. Es gibt auch Entwickler, die ihre Extensions dort gut beschreiben und pflegen, aber das ist nicht Standard. Einige Sachen sind dort natürlich auch ausführlicher beschrieben, was auch hilft, aber für die Grundübersicht über die Parameter reicht mir das autogenerated help, sind ja seit neustem auch die Links auf die richtige Seite auf mediawiki.org enthalten.
- GlobalUsage muss auf jedem Wiki installiert sein, welches daran teilnimmt, Spezial:GlobalUsage ist auf jedem Wiki aufrufbar und nutzbar, zeigen nur alle Wikis auf eine gemeinsame Datenbanktabelle, die vermutlich auf den Datenbankserver des CommonsWiki liegt. Der Umherirrende 21:15, 7. Dez. 2011 (CET)
- Wer über Wikipedia:API kommt, erhält jetzt in diesem Sinne eine Einweisung.
- Wenn ich das richtig deute, würde sich das deutschsprachige Personal zur Vervollständigung der verlinkten Übersetzung nunmehr überwiegend aus den hiesigen Werkstattmitarbeitern rekrutieren?
- VG --PerfektesChaos 15:16, 10. Dez. 2011 (CET)
- Das sieht gut aus. Wer die Übersetzungsarbeit macht, ist ja eigentlich egal. Manchmal ist es aber auch so, das die englische Beschreibung nicht alle Parameter auflistet. Der Umherirrende 17:15, 10. Dez. 2011 (CET)
- Die API-Doku umfasst nur die Core-Module (Also auch nicht sitematrix, FlaggedRevs, AbuseFilter, CentralAuth, und weitere Extensions die eine API haben). Ich nutze immer die automatisch generierte Hilfe der Seite, wo ich die API anwenden möchte, dann hat man auch kein Problem mit den Versionen. MediaWiki.org ist außerdem häufig outdated. Der Umherirrende 20:20, 6. Dez. 2011 (CET)
- Nur damit ich das auch in den richtigen Hals bekomme: Das soll heißen, es gibt noch mehr prop als auf mw:API:Properties draufsteht?? RRRrrrrrrrrrrrrrrrRRRRRRRrrrrrrr.
Betreffend fileAdm: Ich hätte das Script am liebsten separat, da es auf Commons genutzt werden soll und dort auch ohne Einbindung in den eigenen Skin bzw. Auswahl als Gadget nutzbar sein soll (per Link in Wartungskategorie). Ein Beispiel für eine solche Nutzung via withJS ist Rillkes Gallery Tool. --Leyo 13:50, 8. Dez. 2011 (CET)
- Betreffend fileAdm: Das ist ein Missverständnis. fileAdm ist von vornherein so konzipiert, dass es auf beliebigen Projekten verwendet werden kann. Auf welche Weise es gestartet wird, ist völlig unerheblich. Das kann im persönlichen Skin-Skript sein, per Gadget-Häkchen oder mittels withJS=. fileAdm weiß, in welcher Situation es sich befindet, und kann die dafür vorgesehenen Aktionen ausführen. Innerhalb von fileAdm existieren aber bereits alle erforderlichen Unterstützungs-Funktionen für die Einfärbung. Dies in zwei Skripte auseinanderzureißen hätte dann doppelten Wartungsaufwand bei Änderungen und Weiterentwicklung zur Folge.
- Die Aufgabenstellung ist bislang nicht präzise genug: Welche Farben sollen verwendet werden, in der Situation genau welcher Namensräme oder welcher nicht?
- Die bisher bekannt gewordene Aufgabenstellung wird anscheinend bereits von commons_dupes.php unterstützt. Dort steht schon:
de.wikipedia : Article (1)– und es gibt Links und Knöpfe für “delete” und “universally replace”. Welche damit nicht zu lösenden Aufgaben sollen von dem gewünschten Tool unterstützt werden? - VG --PerfektesChaos 20:55, 8. Dez. 2011 (CET)
- Hm, von commons_dupes ist mir nur die Anwendung zum übersichtlichen Vergleich von Duplikaten bekannt. Die Anfrage hier bezieht sich auf die Nutzung von Commons-Dateien in anderen Projekten.
- Da die Analyse nach NR wie oben erwähnt zu viele Ressourcen frisst, kann man darauf verzichten. Daher würde ich folgendes Farbschema vorschlagen: grün für Dateien mit 0 Einbindungen, rot für ≥ 1 Einbindungen.
- Die Dateiwartung auf Commons ist ganz anders als hier. Daher bin ich skeptisch, ob fileAdm dort ohne sehr umfangreiche Anpassungsarbeiten einsetzbar ist. Die dort bestehenden Scripte sind im Allgemeinen umfangreich und sie werden auch fortwährend unterhalten. Soweit meine bestimmt etwas subjektive Einschätzung. Wäre es vielleicht eine Möglichkeit die Unterstützungs-Funktionen für die Einfärbung aus fileAdm in ein Subscript zu packen, so dass dieses auch für andere Scripte zur Verfügung steht? --Leyo 02:33, 10. Dez. 2011 (CET)
- Ich erlaube mir gewisse Zweifel, ob du hier Wesen und innere Struktur von fileAdm richtig einschätzt.
- Die dir bekannten Aktivitäten sind für dewiki explizit freigeschaltet. In einem unbekannten Projekt sind alle Aktivitäten nur schlafend vorhanden.
- fileAdm enthält aber erfoderliche und im Hintergrund ablaufende Hilfsfunktionen, darunter einen vollständigen Mechanismus, um nacheinander gruppenweise API-Abfragen auf Eigenschaften von Dateien auszuführen und die in der gallery dargestellten Bildnamen entsprechend farbig zu markieren.
- Dass CTB in Commons nicht freizuschalten wäre, ist selbst mir klar; auch von anderen Aktivitäten war nicht die Rede.
- Das "Herausoperieren eines Subskriptes" wäre unnötig kompliziert und würde parallele Wartungs- und Pflegearbeiten in zwei Skripten nach sich ziehen. Es gibt von mir nur ein einheitliches Skript, das abhängig von der Situation das tut, was es tun soll.
- Wenn ich die Darlegungen von Bergi und dem Umherirrenden richtig interpretiere, dann ließe sich die GlobalUsage-Abfrage mit gleichem Ergebnis von jedem beliebigen Projekt aus vornehmen; gesondertes Wechseln zu Commons wäre dann nicht nötig.
- Die gu-Abfrage wäre nicht vorzunehmen für lokal in einem nicht-Commons-Projekt vorhandene Dateien (wgArticleId>0; iulimit=1; Farbmarkierung grau=verwaist, gelb=lokal eingebunden; redirects=?).
- Die Abfrage wäre über gulimit=1 zu begrenzen; Ergebnis: Gefunden oder nicht.
- Schönes Wochenende --PerfektesChaos 15:16, 10. Dez. 2011 (CET)
- Was deine Zweifel zu meinen Kenntnissen zur inneren Struktur von fileAdm angeht, hast du bestimmt recht. Da du dich als Commons-Nobody bezeichnest, dachte ich, dir könnte möglicherweise nicht klar sein, dass sich die Abläufe auf Commons teilweise sehr stark von denjenigen hier unterscheiden.
- Dein Vorschlag tönt sinnvoll. Was man mit den Redirects (genauer: Dateien, die via Redirects eingebunden sind) am besten macht, weiss ich auch gerade nicht. Man könnte prüfen, ob Redirects auf eine Datei existieren (Special:WhatLinksHere). Falls ja, könnte man betreffende Dateien anders einfärben. Die Prüfung der Einbindung müsste dann von Hand gemacht werden, was aufgrund der geringen Häufigkeit kein Problem wäre. --Leyo 01:26, 12. Dez. 2011 (CET)
- Ich erlaube mir gewisse Zweifel, ob du hier Wesen und innere Struktur von fileAdm richtig einschätzt.
- Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 15:07, 14. Jul. 2012 (CEST)
Review
Kurz umrissen, kann vielleicht jemand meine .js und .css mal einem Review unterziehen? Seit 2005 hat sich einiges dort angesammelt (vielleicht auch Müll), einiges funktioniert nicht richtig und einiges kann man vielleicht besser machen.
- markadmins (kann bleiben man hat sich daran gewöhnt, oder gibt es was besseres?)
- mw-rollback-link: reduzieren auf '‣' funktioniert nicht mehr
- Lupin/popups.js sehr hilfreich
- eigene Seiten "Atamari" (u.a. Disk) soll hervorgehoben werden. Hervorhebung in der Sidebar ist aber störend
- Weiterleitungen sollen auch besonders hervorgehoben werden
- In der Beobachtungsliste brauche ich Button für "Sperren" oder "zurück setzten" nicht, da kommt man zu schnell versehentlich darauf
- editpage-copywarn-copywarn kenne ich, kann ausgeblendet werden
- "Beobachtungsliste leeren" halte ich für kontraproduktiv, zu gefährlich
--Atamari 16:14, 11. Okt. 2011 (CEST)
- Beide
document.writes rauswerfen und die Skripte stattdessen in deinen Einstellungen unter Helferlein aktivieren (Rechtschreibprüfung und Navigations-Popups), fürmw-rollback-linkdie Zeile ersetzen durch
- Beide
<syntaxhighlight lang="javascript"> if (mw.config.get('wgCanonicalSpecialPageName') === 'Recentchangeslinked') $(function(){
$('span.mw-rollback-link a').text('‣');
}); </syntaxhighlight>
Offenbar eingeschlafen.
- Archivierung dieses Abschnittes wurde gewünscht von: --PerfektesChaos 19:25, 4. Aug. 2012 (CEST)
Editor Rechtschreibfehler erkennen
Hallo, oft wenn ich hier bearbeite möchte ich einzelne Rechtschreibfehler berichtigen, die ich durch das erkennungshelferlein erkannt habe. doch dann beim bearbeiten ist es oftmals sehr lästig, die Stelle wiederzufinden. könnte man ein Script einsetzen damit der Rote Hintergrund auch im Editor erscheint? --Rooooo 19:56, 4. Nov. 2011 (CET)
- Sehe ich mit Entsetzen das Datum „4. Nov.“ – das heißt, dass wir deine kurze Frage völlig übersehen hatten. Sorry, war keine böse Absicht; wenn sowas passiert und nach einigen Tagen niemand reagiert hatte, einfach nochmal ein ping hinterherschicken.
- Um die Frage richtig zu verstehen: Du möchtest in dem Wikitext im Bearbeitungsfeld die rote Markierung haben?
- Wenn du mit WikEd arbeitst, stünde im Bearbeitungsfeld HTML. Da könnte man einige Funktionen des MediaWiki:Gadget-Rechtschreibpruefung.js geschickt so überschreiben, dass der HTML-formatierte Wikitext diese roten Hervorhebungen erhält. Vielleicht hat hier schon mal jemand sowas gemacht? WikEd unterstützt solche Sachen grundsätzlich.
- Ansonsten steht im Bearbeitungsfeld blanker Text, in dem kein Markup möglich ist. Schlimmer noch: Würde man dies versuchen, würde alles automatisch Eingefügte als neuer Artikeltext mit abgespeichert, wenn man es nicht mitbekommt.
- Oder ginge es dir um die Markierung in der Vorschau, vielleicht auch Diffpage? Standardmäßig wird nur die Ansicht des fertigen Artikels (view) analysiert.
- Liebe Grüße trotz später Antwort --PerfektesChaos 13:31, 11. Dez. 2011 (CET)
- Okay, danke, habe jetzt auch nicht länger hier geguckt. WikEd benutze ich eigentlich nicht, werde ich aber mal ausprobieren.--Rooooo 14:23, 27. Dez. 2011 (CET)
- Ja, wobei man dann noch etwas schreiben müsste, dass im von WikEd gebauten HTML-Text des Bearbeitungsfeldes die Ergebnisse der Rechtschreibprüfung ebenfalls gefunden und rot markiert werden. Ist aber überschaubar und grundsätzlich machbar, und wäre auch von allgemeinerem Interesse.
- Diesmal kam die Reaktion schneller; Guten Rutsch schon mal --PerfektesChaos 14:53, 27. Dez. 2011 (CET)
Wikipedia:Technik/Werkstatt/Baustellen/Fehler im Bearbeitungsfeld hervorheben – hier erl.
- Archivierung dieses Abschnittes wurde gewünscht von: --PerfektesChaos 19:21, 4. Aug. 2012 (CEST)
Speicher-Button deaktivieren
Hallo zusammen, ich bin total begeistert von Benutzer:ParaDox/monobook/VirtualReferences.js, bis auf eine Kleinigkeit: Das Teil braucht bei langsamen Internetverbindungen ewig, bis es wieder entfernt ist. Daher passiert es mir öfters, dass ich schon auf Speichern drücken und damit der Kasten im Artikel verbleibt (vgl. [1]). Das nervt! Wäre es möglich, den Speichern-Button zu deaktivieren, bis der Kasten entfernt wurde? Einfärben würde zur Not auch reichen. Danke und Gruß, --Flominator 12:19, 13. Aug. 2011 (CEST)
- Grundsätzlich ist das alles machbar.
- Mittel der Wahl wäre, wenn es standardmäßig im VirtualReferences.js angeboten bzw. umgesetzt wird. Es ist tatsächlich ein Problem, das jeden Benutzer des Skriptes angeht. Allerdings scheint ParaDox seit Frühjahr 2010 nicht mehr aktiv zu sein.
- Alternativ kann man die Speicherfunktion, die normalerweise bei Klick- oder anderen Aktionen des Buttons ausgeführt wird, umbiegen auf eine eigene. Sie kann dann den aktuellen Artikeltext untersuchen, ob sich darin unerwünschte Zeichenketten irgendwelcher Art befinden. Falls ja, Meldungsbox zeigen und nichts tun; falls nein – die Original-Speicherfunktion ausführen.
- Schönes Wochenende, auch nach gescheitertem LA --PerfektesChaos 13:14, 13. Aug. 2011 (CEST)
- Danke für die Analyse. Ich habe mir gerade mal eine Kopie gezogen, aber mein Problem liegt nach wie vor darin, dass es einfach zu lange dauert, bis das hier ausgeführt wird. Wenn ich auf Speichern drücke, bevor alles geladen ist, habe ich das Problem nach wie vor. Gibt es da einen früheren Event, an den ich mich hängen könnte? --Flominator 19:46, 13. Aug. 2011 (CEST)
- Schnark hatte dir weiter oben schon mal geraten, DOMContentLoaded zu ersetzen: Es kann dann eigentlich nicht sein, dass du den Speichern-Knopf zu sehen bekommst, bevor er schon längst disabled ist. Es ist dann der frühestmögliche Zeitpunkt. DOMContentLoaded trifft vermutlich bei dir zu spät ein, wie ich deiner Bemerkung entnehme. Im Verlauf dieses Jahres komme ich allerdings allmählich etwas durcheinander, was die diversen Veränderungen in den verschiedenen Browser-Familien betreffend unterschiedichster Load-Ereignisse angeht. LG --PerfektesChaos 20:11, 13. Aug. 2011 (CEST)
- Zu sehen kann er schon sein bevor die erste Zeile JS ausgeführt wird. Opera beispielsweise bietet die Option an, mit dem Seitenaufbau beim ersten eintreffenden Bit (übertrieben) zu beginnen und dynamisch weiterzuparsen. Drücken lassen sollte sich Speichern aber tatsächlich erst wenn das ganze Dokument geladen ist.
- Ich hätte auch vorgeschlagen, einfach die aus-dem-Quelltext-entfernen-Funktion auf das Klick-Event des Speicherbuttons draufzuhängen (wie das Hinzufügen bei Vorschau und Änderungen). Ich bin mir jetzt aber nicht sicher wie Paradox das gemacht hat, zumindest mein „extendedVirtualReferences“ funktionierte so. Zumindest Fragen zum theoretischen Ablauf des virtualReferences kann ich aber schnell beantworten, ich habe das schonmal durchanalysiert :-) --✓ Bergi 21:14, 13. Aug. 2011 (CEST)
- Wie aus meinem bereits angegebenen Link „weiter oben“ hervorgeht, nutzt er allerdings nicht Opera; FF ist darauf wohl noch nicht gekommen.
- Vielleicht könnte man allgemein eine Musterlösung BeforeSaveHook (sei sie nun anonym oder nicht) zur Verfügung stellen, die sich jeder nach common.js kopieren kann (besser kein import). LiquiThread lässt ja auch noch auf sich warten; insofern könnte man bei ungerader Namensraum-Nummer explizit mit window.confirm() bestätigen lassen, dass kein ~~~~ vorkommen soll, oder Reste von VirtualReferences seien vorhanden; oder die Zusammenfassung ist noch nicht zufriedenstellend ausgefüllt …
- disabled ist jedenfalls eine methodisch unbefriedigende bis gefahrengeneigte Lösung.
- Schönen Abend. --PerfektesChaos 21:48, 13. Aug. 2011 (CEST)
- Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 00:53, 23. Aug. 2012 (CEST)
Stockphoto.js auf Commons funktioniert nicht im Internet Explorer
Auf Commons gibt es ein JavaScript welches einem bei der Nachnutzung von Bildern hilft. Leider wurde es für den Internet Explorer geblockt, da das Skript vermutlich für IE-Crashes verantwortlich war: commons:Commons:Village pump/Archive/2011/03#Internet Explorer (IE) 8.0.6 and IE 7.0.6 crash. Hat jemand Lust nach der Ursache zu forschen und auf Commons für eine entsprechende Anpassung zu sorgen? Es kann natürlich auch schon sein, das die Änderungen seit dem 17. Februar unwissend ein Fix enthalten. Das Skript wird in der Vector.js eingebunden. Ich würde mich freuen. Vielen Dank. Der Umherirrende 20:09, 11. Dez. 2011 (CET)
- Siehe dazu auch commons:MediaWiki_talk:Stockphoto.js#fix_or_disable_for_Internet_explorer._It_is_crashing_the_whole_browser. Falls diskutiert werden sollte: bitte in Commons in jenem Abschnitt - dort gehört die Diskussion hin, sonst findet man sie nicht. :-) Viele Grüße --Saibo (Δ) 22:32, 11. Dez. 2011 (CET)
- Und wenn sich schon jemand die Mühe macht und das Script gründlich überarbeitet, sollte es flexibel verwendet werden können: Text der Bildbeschreibungsseite rein Objekt mit Symbolen und Captions raus. Das hätte den Vorteil, dass es etwa in der Slideshow auch funktioniert. Danke! -- RE rillke fragen? 01:02, 28. Dez. 2011 (CET)
- Wie ich gerade festgestellt habe, funktioniert es jetzt auf Commons für IE (wenn auch nur IE>7, aber dürfte erstmal reichen). Vielen Dank Rillke. Der Umherirrende 21:15, 11. Sep. 2012 (CEST)
- Archivierung dieses Abschnittes wurde gewünscht von: Der Umherirrende 21:15, 11. Sep. 2012 (CEST)
Beobachtungsliste
Wie kann ich die Beobachtungsliste durch ~luxo/gwatch/watchlist.php ersetzen? --Der Buckesfelder Disk. bewerten Email 20:33, 8. Nov. 2011 (CET)
- Was meinst du mit ersetzen? Du benutzt einfach erstere nicht mehr und letztere schon. Oder geht es dir darum, (alle?) Links auf die BEO zu ändern? Oder gar von der BEO-Seite automatisch weiterzuleiten (was ich nicht empfehlen würde)? -- ✓ Bergi 22:27, 8. Nov. 2011 (CET)
- Ich würde gerne entweder direkt von der Beo weitergeleitet werden, oder gwatch wird direkt in die Beo geladen werden. --Buckesfelder Disk. bewerten Email 07:18, 9. Nov. 2011 (CET)
- Für ersteres würde ich
mw.config.get('wgCanonicalSpecialPageName') == "Watchlist"als Bedingung und danndocument.location.replace()verwenden. Allerdings verhinderst du dabei todsicher, ohne Ausschalten von JS auf deine Wikpedia-BEO zu kommen. - Direktes In-die-Seite laden geht mit Frames, so in etwa
mw.util.content.html('<iframe src="luxo" />');(Inlineframe). Hat aber selbiges Problem. -- ✓ Bergi 21:19, 9. Nov. 2011 (CET)
- Für ersteres würde ich
- Ich würde gerne entweder direkt von der Beo weitergeleitet werden, oder gwatch wird direkt in die Beo geladen werden. --Buckesfelder Disk. bewerten Email 07:18, 9. Nov. 2011 (CET)
- … so in etwa … ERROR function not found … mw.util.content.html() … suggestions: mw.util.$content or mw.html.element() … Viel Spaß, schaut spaßig aus, schönen Abend --PerfektesChaos 21:43, 9. Nov. 2011 (CET)
- Äh, ja, natürlich
$content. Irgendwas war mir da doch schon merkwürdig vorgekommen. Istmw.html.elementeigentlich wirklich nur dafür gedacht, innerHTML-Strings bereitzustellen? -- ✓ Bergi 22:14, 9. Nov. 2011 (CET)- Also – was sich da jemand gedacht hat? Das weiß ich auch nicht. Es scheint mir um Escaping zu gehen; ich wäre nicht auf die Idee gekommen, das als Bibliotheksfunktion zu vermarkten, aber irgendwer hat sowas wohl öfters für sich gebraucht und das als Utility bereitgestellt. Na dann … LG --PerfektesChaos 23:17, 9. Nov. 2011 (CET)
- Äh, ja, natürlich
- … so in etwa … ERROR function not found … mw.util.content.html() … suggestions: mw.util.$content or mw.html.element() … Viel Spaß, schaut spaßig aus, schönen Abend --PerfektesChaos 21:43, 9. Nov. 2011 (CET)
- Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 21:39, 19. Sep. 2012 (CEST)
Idee: Lagewunsch.js
Ich stelle mir folgendes vor: Ein Tool in dem ich schnell den korrekten ISO 3166-2-Code zusammen mit {{{{#if:|subst:}}{{#if:
|Coordinate
|{{#ifeq:C
|:
|:Coordinate
|{{#switch:
|=Coordinate
|#default=Coordinate}}}}}}{{#ifeq:x|{{{2}}}|{{#if:|
}}|{{{2}}}}}{{#ifeq:x|{{{3}}}|{{#if:|
}}|{{{3}}}}}{{#ifeq:x|{{{4}}}|{{#if:|
}}|{{{4}}}}}{{#ifeq:x|{{{5}}}|{{#if:|
}}|{{{5}}}}}{{#ifeq:x|{{{6}}}|{{#if:|
}}|{{{6}}}}}{{#ifeq:x|{{{7}}}|{{#if:|
}}|{{{7}}}}}{{#ifeq:x|{{{8}}}|{{#if:|
}}|{{{8}}}}}{{#ifeq:x|{{{9}}}|{{#if:|
}}|{{{9}}}}}{{#ifeq:x|{{{10}}}|{{#if:|
}}|{{{10}}}}}{{#ifeq:x|{{{11}}}|{{#if:|
}}|…}}{{#if:|
}}}}{{#if: | (Anzahl der Einbindungen)|}} oder {{{{#if:|subst:}}{{#if:
|Lagewunsch
|{{#ifeq:L
|:
|:Lagewunsch
|{{#switch:
|=Lagewunsch
|#default=Lagewunsch}}}}}}{{#ifeq:x|{{{2}}}|{{#if:|
}}|{{{2}}}}}{{#ifeq:x|{{{3}}}|{{#if:|
}}|{{{3}}}}}{{#ifeq:x|{{{4}}}|{{#if:|
}}|{{{4}}}}}{{#ifeq:x|{{{5}}}|{{#if:|
}}|{{{5}}}}}{{#ifeq:x|{{{6}}}|{{#if:|
}}|{{{6}}}}}{{#ifeq:x|{{{7}}}|{{#if:|
}}|{{{7}}}}}{{#ifeq:x|{{{8}}}|{{#if:|
}}|{{{8}}}}}{{#ifeq:x|{{{9}}}|{{#if:|
}}|{{{9}}}}}{{#ifeq:x|{{{10}}}|{{#if:|
}}|{{{10}}}}}{{#ifeq:x|{{{11}}}|{{#if:|
}}|…}}{{#if:|
}}}}{{#if: | (Anzahl der Einbindungen)|}} im Artikel anfügen kann. Ich stelle mir das so vor: das Tool sollte in der ersten Auswahl DACH, Afrika, Amerika, Asien, Europa sowie Australien und Ozeanien anbieten. Nach der Auswahl entsprechend ein Bundesland oder ein anderer Staat. Nach einem "ok" wird das Edit-Fenster geöffnet und oberhalb von den Kategorien die Vorlage {{Coordinate|Region=DE-NW}} hinzugefügt. Nach der Möglichkeit weitere Korrekturen am Artikel vorzunehmen, kann der Artikel gespeichert werden. Also ein wenig Ähnlichkeit mit dem HotCat.
Abgebildet sollte dann als Auswahlfeld die Struktur, die sich in der Kategorie:ISO 3166-2 wiederfindet.
Wenn man es ganz geschickt programmiert, dann könnte vielleicht aus der Kategoriestruktur des Artikels schon "erahnt" werden um welchen Staat oder Bundesland es sich handelt. --Atamari 16:19, 18. Okt. 2011 (CEST)
- Damit du nicht das Gefühl hast, du würdest hier einfach ignoriert: Der Programmieraufwand an sich ist überschaubar, aber die Menge an Daten, die das Skript kennen müsste ist riesig. Man bräuchte eine Variable von der Gestalt
<syntaxhighlight lang="javascript"> {
'DACH': {
'Deutschland': {
'*': 'DE',
'Baden-Württemberg': 'DE-BW',
'Bayern': 'DE-BY',
//... 13 weitere Einträge
'Thüringen': 'DE-TH'
},
'Österreich': {
'*': 'AT',
'Burgenland': 'AT-1',
//... 8 weitere Einträge
},
'Schweiz': {
//... 27 Einträge
}
},
'Europa': {
'Albanien': {
'*': 'AL',
'Qark Berat': 'AL-01',
//... 46 weitere Einträge
'Kreis Vlora': 'AL-VL' },
//... Einträge für alle weiteren europäischen Länder
},
//... Einträge für alle weiteren Kontinente
'Sonstiges': {
'Atlantik': {
'*': 'XA'
},
//... 5 weitere Einträge
'Orbit': {
'*': 'XO'
}
}
} </syntaxhighlight>
- Falls du nach dieser Antwort immer noch ein solches Skript willst, und dich bereit erklärst, das obige Schema komplett auszufüllen, denke ich nochmal darüber nach, ob ich den Code dazuliefere, der dann aus den Daten eine nette Auswahl macht. --Schnark 11:20, 22. Okt. 2011 (CEST)
- Im Grunde genommen existiert irgend wo alles - es kann (vielleicht) nur nicht vernünftig abgegfragt werden. Das geht mal wieder in Richtung Metadaten. Als erstes wird eine "Übersetzungstabelle" (rund 200 Zeilen) gebraucht: Lemma des Staates vs. ISO-3166-2. Also : Gambia, Vorlage:Info ISO-3166-2:GM (ähnliches gibt es auch in Vorlage:Infobox Ort in Gambia/Region zu ISO Code). Ob nun alle Staaten und alle unteren Code, die Gebietseinheiten der Staaten im selben Script sein müssen weis ich nicht, evtl. könnte man das geschickt über mehrere Tabellen lösen.
Wir sollen das mal nicht als kurzfristige Idee ansehen, sondern als eine langfristige. Danke für die Antwort. --Atamari 13:28, 22. Okt. 2011 (CEST)
- Ohne programmierend tätig werden zu wollen:
- Hier scheint mir die Trennung von Programm und Daten dringend geboten zu sein.
- Es sollte eine gesonderte und aktualisierbare Seite (ohne .js-Endung) geben, auf der die Inhalte durch alle Autoren gepflegt werden können:
DE Deutschland
DE-BE Berlin
- Der Inhalt der Daten-Seite wird, sobald das Skript ernsthaft aktiv werden soll, per API eingelesen. Der Inhalt könnte alternativ komplett in eine JS-Objektstruktur eingelesen werden, oder aber per RegExp ausgefiltert werden und Zeichenkette bleiben, soweit nicht benötigt.
- JSON würde ich im Interesse der Allgemeinverständlicheit für Datenpfleger vermeiden und mich auf plain text beschränken.
- Neben den Kodierungen für die Inhalte mögen die Datensätze auch die PopUp-Struktur abbilden, also beispielsweise
0 -- DACH
0 DE Deutschland
0 DE-BE Berlin
0 AT Österreich
0 CH Schweiz
1 -- restliches Europa
2 -- Amerika
3 -- Afrika
- Viel Spaß --PerfektesChaos 19:26, 22. Okt. 2011 (CEST)
- Es gibt bereits eine Wiki-Datenstruktur, die hervorragend allgemeinverständlich formuliert ist (in Vorlagensyntax :-), und sie lässt sich auch relativ passabel aufrufen. Per API nehme man als generator categorymembers von Kategorie:Vorlage:ISO-3166-1-Code, und dann revison-content. Daraus lässt sich Kontinent, ISO-Code, Name und sogar Lemma ziehen. Sowie für die nächste Abfrage (prefixindex als Generator für "Unterseiten") hat man auch gleich noch maxlevel und admtype zur Verfügung. Die Möglichkeit, DACH statt Kontinent zu nehmen steht dann erstmal allerdings nicht zur Verfügung (könnte aber hineingehackt werden).
- So richtig komfortabel wären nun halt Karten als Auswahl. In der deWP gibts vereinzelt Imagemaps, aus denen man die Geodaten ziehen könnte, viel geht da aber nicht. Müsste man eher von OSM importieren. Es gibt doch auch schon Tools, die das können (wikiGetCoordinate oder wie das hieß?), könnte man sich da nicht die entsprechenden Codeabschnitte ausborgen?
- Das Skript lässt sich also in 3 Teile zerlegen: Daten(struktur)aufruf (kann ich dir bauen), GUI zur Eingabe (gibts da nich schon schöne Frameworks? Sonst kann ich dir was simples Schneidern), und Einfügen in den Artikel (Von textInsert in der Bearbeitenansicht bis zu HotCat-Luxus ist ein weiter Weg).
- Zu deinem anderen Vorschlag, dem Erahnen des Landes aus den Kategorien: Umpfh. Wenn du mit Kategoriestruktur sowas wie Catgraph meinst, wüsste ich nicht wie man das (in einem Schritt) abrufen kann. Ich glaube allerdings sowieso, dass der Artikeltext mehr Aufschluss darüber geben würde. Und egal welche Daten vorliegen, müsste man immer noch eine komplizierte Fuzzy-Suche implementieren, die aus dem Auftreten von „Der See liegt im ivorischen Regenwald“ die Elfenbeinküste herausrechnen kann… Mit solchen Algorithmen kann man bei Google & Co richtig Geld verdienen, glaub ja nicht dass ich das unter CC stelle :-) -- ✓ Bergi 21:52, 22. Okt. 2011 (CEST)
- Zu kompliziert muss und soll es auch nicht sein, der Idee soll es nur ein UI sein um ein nach Staat spezifizierter Lagewunsch zu setzen. Mit Hilfe von Karten wäre man schon nahe dran am setzten der richtigen Artikel-Koordinaten. Die kann aber vielleicht nur ein Ortskundiger finden. Also es gibt rund 200 Iso-Codes für die Staaten - die ich bislang noch nicht auswendig kenne. Die Idee ist, mit einem Tool spätestens nach drei Klicks + Ok zum Ergebnis zu kommen. --Atamari 22:04, 22. Okt. 2011 (CEST)
@Bergi: Du warst ja kürzlich heldenhaft in der {{{{#if:|subst:}}{{#if:
|Coordinate
|{{#ifeq:C
|:
|:Coordinate
|{{#switch:
|=Coordinate
|#default=Coordinate}}}}}}{{#ifeq:x|{{{2}}}|{{#if:|
}}|{{{2}}}}}{{#ifeq:x|{{{3}}}|{{#if:|
}}|{{{3}}}}}{{#ifeq:x|{{{4}}}|{{#if:|
}}|{{{4}}}}}{{#ifeq:x|{{{5}}}|{{#if:|
}}|{{{5}}}}}{{#ifeq:x|{{{6}}}|{{#if:|
}}|{{{6}}}}}{{#ifeq:x|{{{7}}}|{{#if:|
}}|{{{7}}}}}{{#ifeq:x|{{{8}}}|{{#if:|
}}|{{{8}}}}}{{#ifeq:x|{{{9}}}|{{#if:|
}}|{{{9}}}}}{{#ifeq:x|{{{10}}}|{{#if:|
}}|{{{10}}}}}{{#ifeq:x|{{{11}}}|{{#if:|
}}|…}}{{#if:|
}}}}{{#if: | (Anzahl der Einbindungen)|}} unterwegs und kennst dich da besser aus.
- Daraus würde folgen: Hardcoded im Skript-PopUp den ersten Auswahl-Level (DE,AT,CH,Europa/sonst,Asien,…) anbieten.
- Nachdem der Anwender hier geklickt hat, API-queries zum Auffüllen des zweiten Levels (ISO-3166-2 bei DACH, Länderauswahl im Kontinent sonst; DE,AT,CH mögen auch „doppelt“ im sonstigen Europa auftauchen) und live das Angebot auffüllen.
- Nachdem im Non-DACH das Land ausgewählt wurde, mit erneuter query für dieses Land schauen, ob es dazu ISO-3166-2 gibt; sonst fertig.
Klingt pfiffig. Fein (Trennung von Programm und Daten). Sonnigen Sonntag --PerfektesChaos 09:28, 23. Okt. 2011 (CEST)
- „Erahnen aus Kategorien“ wird kaum gehen. Da wir so pfiffig sind, systematisch die Oberkat aus den Artikeln zu löschen, steht da nicht „Ort in Hessen“, sondern „Ort im Landkreis X“, „Straße in Wien“ oder „Springbrunnen in Sachsen“.
- Für die Benutzerführung wäre es auch schwieriger, zwei Level bereits aufgepoppt zu zeigen und sich die Mutmaßung bestätigen zu lassen (sowas verstehen nur die Progammierer), als die aktiv durch die Auswahl klicken zu lassen. Hinzu kommt, dass bei Fehleinschätzung völlige Verwirrung beim Anwender ausbricht.
- Im vorgenannten Sinne --PerfektesChaos 09:37, 23. Okt. 2011 (CEST)
Ich habe jetzt eine funktionierende Version fertig, die aber auf meine (4) Bibliotheken aufbaut. Also nicht wirklich öffentlichkeitswirksam. Ich kann versuchen, die Bibliotheken rauszustückeln, das dauert aber und wird hässlich. Wenns nötig ist, kann ich euch die Stückelei als Userscript für FF/Opera anbieten. Allerdings merkt man schon beim Zufall-Testen, wie schlecht gewartet unsere Metadatenvorlagen sind. -- ✓ Bergi 22:39, 23. Okt. 2011 (CEST)
Seit einem Jahr keine Bewegung, lange Geschichte, erstmal keine Weiterentwicklung sichtbar; zur Entlastung archiviert. --PerfektesChaos 22:23, 9. Nov. 2012 (CET)
- Archivierung dieses Abschnittes wurde gewünscht von: --PerfektesChaos 22:23, 9. Nov. 2012 (CET)
CSS/metadata
Hallo, ich hoffe ich bin auf dieser neuen Seite richtig, sonst bitte ich um Platzverweis ;) Wir nutzen in {{{{#if:|subst:}}{{#if:
|Denkmalliste Österreich Tabellenzeile
|{{#ifeq:D
|:
|:Denkmalliste Österreich Tabellenzeile
|{{#switch:
|=Denkmalliste Österreich Tabellenzeile
|#default=Denkmalliste Österreich Tabellenzeile}}}}}}{{#ifeq:x|{{{2}}}|{{#if:|
}}|{{{2}}}}}{{#ifeq:x|{{{3}}}|{{#if:|
}}|{{{3}}}}}{{#ifeq:x|{{{4}}}|{{#if:|
}}|{{{4}}}}}{{#ifeq:x|{{{5}}}|{{#if:|
}}|{{{5}}}}}{{#ifeq:x|{{{6}}}|{{#if:|
}}|{{{6}}}}}{{#ifeq:x|{{{7}}}|{{#if:|
}}|{{{7}}}}}{{#ifeq:x|{{{8}}}|{{#if:|
}}|{{{8}}}}}{{#ifeq:x|{{{9}}}|{{#if:|
}}|{{{9}}}}}{{#ifeq:x|{{{10}}}|{{#if:|
}}|{{{10}}}}}{{#ifeq:x|{{{11}}}|{{#if:|
}}|…}}{{#if:|
}}}}{{#if: | (Anzahl der Einbindungen)|}} die CSS-Klasse "metadata" aus der mediawiki:common.css um eine Spalte für den gemeinen Leser auszublenden... Leider dürfte die Mobile Version das nicht mitbekommen haben, dort sind die Metadaten immer eingeblendet (graue Spalte, zB hier). Könnt ihr helfen? LG --AleXXw •שלום!•disk 20:24, 12. Jul. 2011 (CEST)
- Wobei, eine andere Lösung für die Vorlage zu finden oder mobile zu bestimmten CSS zu bewegen? Letzteres ist ziemlich unmöglich, das alte Python-Skript versteht/wartet eh kein Entwickler mehr und eine neue PHP-Version lässt auf sich warten.
- Zu ersterem mal ein Denkansatz für eine (häßliche) Lösung: [2]. Funktioniert aber wohl nicht. --✓ Bergi 21:49, 12. Jul. 2011 (CEST)
- Zweiteres, es würde schon reichen die für mobile verwendete CSS richtigzustellen... Mit den anderen metadata verwendenden Vorlagen wie etwa PD gehts ja auch (Bsp) Was du mir mit den Variablen sagen willst weis ich jetzt nicht genau ;) --AleXXw •שלום!•disk 22:08, 12. Jul. 2011 (CEST)
- Danke für den Hinweis, P.Copp, ich habs sogleich gemeldet. @AleXXw: Die Frage ist nur, wann das mal umgesetzt wird. Das mit den Variablen war so gedacht, dass mobile doch vielleicht für
{{SERVER}}was anderes ausgeben könnte… Leider haben die aber keinen eigenen Parser. --✓ Bergi 12:07, 13. Jul. 2011 (CEST)
- Nach Schnark könnte man hier über MediaWiki:Mobile.css etwas erreichen. Dürfte dann:
<syntaxhighlight lang="css"> /* Metadaten (bspw. Personendaten) */ .metadata { display: none; } table.metadata { border: 1px solid #aaa; } .metadata-label { color: #aaa; } </syntaxhighlight>
- sein, oder? Wiederholung zu Common.css unschön, scheint hier aber notwendig zu sein. Der Umherirrende 15:10, 16. Nov. 2012 (CET)
- Da man die Metadaten in der mobilen Version doch vermutlich ohnehin nicht einblenden kann, wenn sie einmal ausgeblendet sind, sollte die erste Anweisung ausreichen. --Schnark 09:26, 17. Nov. 2012 (CET)
- Okay, ich habe das entsprechend angelegt. Der Umherirrende 15:13, 17. Nov. 2012 (CET)
- Archivierung dieses Abschnittes wurde gewünscht von: Der Umherirrende 15:13, 17. Nov. 2012 (CET)
Vorlagen im Editor
Gibt es eine Möglichkeit, um einige Kopiervorlagen (Wie Vorlage:Internetquelle) ausklappbar im Editor in die Urheberrechtsbox zu integrieren? --IWorld – @ 21:47, 1. Sep. 2011 (CEST)
- Ja, viele.
- Die Frage hat vermutlich ähnliche Zielrichtung wie oben und weiter oben?
- Editor kann auch Wikipedia:WikEd sein; dann en:User:Cacycle/wikEd_customization#Custom_buttons
- Dann geht noch Wikipedia:Bookmarklets.
- Siehe dazu auch /GUI.
- HGZH --PerfektesChaos 22:16, 1. Sep. 2011 (CEST)
- Es soll nur wie folgendes Script aussehen:
<syntaxhighlight lang="javascript"> // Benutzer:Mcaviglia - www.mcaviglia.ch - Zeile bitte stehen Lassen
document.write('<script type="text/javascript" src="' + 'http://www.mcaviglia.ch/gmap/get_coor_js.asp?l=de"></script>'); mediaWiki.loader.load("https://toolserver.org/~netaction/wikitrust.js");
</syntaxhighlight> --IWorld – @ 13:40, 2. Sep. 2011 (CEST)
- Okay; habe ich jetzt grundsätzlich verstanden.
- Du möchtest einen Knopf haben, und wenn du draufklickst, soll sich dieses Formular öffnen; du möchtest einen Ort etc. auswählen, klickst auf dem Formular auf, äh, irgendwohin; und dann soll sich die Vorlage in den aktuellen Artikel hineinschreiben?
- Klingt machbar.
- Ich muss dazu erstmal auf die Suche nach einer Bedienungsanleitung zu mcaviglia gehen; Weiteres kommt im Lauf des Wochenendes.
- Offen bleibt die Frage: Sieht es auf deiner Bearbeitungsseite aus
- wie hier?
- oder so?
- Oder benutzt du Wikipedia:WikEd?
- Das wäre schon nötig, um zu gucken, wo ich dir das Knöpfchen dazubauen kann.
- VG --PerfektesChaos 14:18, 2. Sep. 2011 (CEST)
- Mit einer aufklappbaren Box müsstest du dich noch einige Wochen gedulden; in der nächsten Version unserer MediaWiki-Software wird etwas vorhanden sein, mit dem man solche Klappboxen realisieren kann.
- Allerdings ist deine Vorstellung von Urherrechtshinweiskasten und Kopieren ziemlich ungewöhnlich. Normalerweise macht man das etwas anders:
- Du stehst mit deinem Cursor irgendwo im Wikitext.
- Auf der Werkzeugleiste hast du ein Knöpfchen, sagen wir mal, {{#if:trim|IQ}} – da klickst du drauf und bekommst die Kopiervorlage an der aktuellen Cursorposition in den Wikitext eingefügt; selbstverständlich gleich mit aktuellem ISO-Datum. Gern auch als {{#if:trim|IQk}} und {{#if:trim|IQv}} für Kurzfassung und Vollprogramm.
- Das Ergebnis ist wohl das, was du erreichen möchtest, und lässt sich kurzfristiger umsetzen.
- Deshalb fragte ich, welche Knöpfchen du bei dir siehst.
VG --PerfektesChaos 15:42, 2. Sep. 2011 (CEST)
- (BK) Hast du schonmal den Vorlagenmeister (Einstellungen→Gadgets) ausprobiert? Der dürfte für so häufig verwendete Vorlagen wie Internetquelle sehr gut funktionieren.
- Bloß eine Kopiervorlage in die Seite einzufügen ist schon fast zu einfach:
<syntaxhighlight lang="javascript" style="margin-left:2em;"> $(function() {
var templates = [ "Vorlage:Internetquelle\n"/*, "weitere Vorlagen"*/ ]; if (mw.config.get("wgAction") != "edit" && mw.config.get("wgAction") != "submit") return; mw.util.addCSS("#copy-paste > pre { float:left; }");
$('#editpage-copywarn').before('
'+templates.join('')+'');
}); </syntaxhighlight>
- Die Variable
templatesist dabei ein Array (Liste), das du mit mehreren Komma-separierten Strings (deinen Kopiervorlagen) füllen kannst. Jeder String wird von Hochkommata umgeben, Zeilenumbrüche schreibst du als\n. Solltest du die Kopiervorlagen wirklich in statt vor dem Copyrighthinweis haben wollen, so ersetzebeforedurchprepend. Sollten dir die pre-Kästen nicht gefallen, kannst du ihnen neben demfloat:leftnoch weitere CSS-Eigenschaften zuweisen, zum Beispiel keinen Rahmen. --✓ Bergi 16:00, 2. Sep. 2011 (CEST)
Hier nach einem guten Jahr erstmal abgeschlossen; zahlreiche Möglichkeiten über Werkzeugleisten usw.
- Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 14:16, 2. Dez. 2012 (CET)
Ich habe unter Vorlage Diskussion:Navigationsleiste/Archiv/1#Ein- und Ausklappen mal auf die Anfrage geantwortet, doch die neue Klasse mw-collapsible zu verwenden. Vielleicht fällt euch noch ein bisschen Senf zum Thema ein. -- ✓ Bergi 22:32, 12. Nov. 2011 (CET)
- Archivierung dieses Abschnittes wurde gewünscht von: TMg 20:07, 10. Jan. 2013 (CET)
Vorlage Diskussion:Positionskarte#mobile-Version
Dort werden CSS-Skills für eine Fehlerbehebung gesucht. Edit-Kommertar dazu „inserat: suche jemand, der sich ein wenig mit CSS auskennt und die Positionskarte fixt“ --Spischot 10:57, 29. Jul. 2011 (CEST)
- Es sind schon genug Anfragen gestellt wurden, dass ichs gesehen habe (3×BEO) :-)
- Wegen meiner Anwort dort: Wie erreicht man
table[style]:not(.klasse){width:100% !important;}so, dass es auch Browser ohne not verstehen? --✓ Bergi 14:56, 29. Jul. 2011 (CEST)- Hat diese Neuerung vielleicht etwas gebracht? --Leyo 17:12, 2. Aug. 2011 (CEST)
- Laut Schnark könnte hier über MediaWiki:Mobile.css nachgeholfen werden. CSS-Vorschläge, die überall funktionieren? Der Umherirrende 15:12, 16. Nov. 2012 (CET)
- Nach einem kurzen Blick in den CSS-Inspektor: Mit mobile.css allein wird das wohl doch nichts, da das Zeug in der Vorlage keinerlei Klassen hat, die man verwenden könnte. Mehr als auf die inzwischen unter Vorlage Diskussion:Positionskarte/Archiv/1#mobile-Version archivierte Diskussion verlinken kann ich nicht. --Schnark 09:40, 17. Nov. 2012 (CET)
- Archivierung dieses Abschnittes wurde gewünscht von: Heubergen (Diskussion) 09:27, 14. Jun. 2013 (CEST)
Commons-Annotations vs. ImageSiblings
Moin, hat jemand von euch eine Idee, warum man entweder importScript('MediaWiki:Gadget-ImageAnnotator.js'); oder das bereits als Gadget verfügbare ImageSiblings nutzen kann, nicht jedoch beide? (vgl. Disk) Danke, --Flominator 11:16, 17. Sep. 2011 (CEST)
- Auch wenn ich mir den Code nicht genauer angesehen habe, kann man generell sagen, dass Funktionen die das Gleiche tun, sich selten ungestört vertragen (dabei sind Variablen oder DOM Konflikte außer Acht). Vor allem bei direkten Events-Auslöser werden Funktionen einfach überschrieben, was ich hier mal vermute. -- πϵρήλιο ℗ 22:13, 18. Sep. 2011 (CEST)
- Was kann man dagegen tun? --Flominator 12:16, 1. Nov. 2011 (CET)
MediaWiki:Gadget-ImageAnnotator.js wurde hier abgebaut. --PerfektesChaos 01:37, 2. Jul. 2013 (CEST)
- Archivierung dieses Abschnittes wurde gewünscht von: PerfektesChaos 01:37, 2. Jul. 2013 (CEST)