05.07.2016 |
Cloud Striker
Wonderbolt
Beiträge: 2.054
Registriert seit: 12. Aug 2013
|
RE: Modifikationsscripte für Bronies.de
*Ausprobier*
Scheint zu funktionieren. Braves Rapti.
|
|
|
05.07.2016 |
Crash Override
Faust
Beiträge: 14.545
Registriert seit: 10. Feb 2013
|
RE: Modifikationsscripte für Bronies.de
Und mir passiert wieder das gleiche wie beim letzten mal - ich kann es Zeichen für Zeichen abtippen, weil es bei FF nicht funktioniert, trotz Strg + C / Strg + V.
Im gegensatz zu Greasemonkey sagt mir Violentmonkey (Opera, da funzt es auch nicht), das da kein eintrag zu @grant da wäre. Ob das vielleicht das Problem bei mir darstellt...? Ich werd's da mal testen.
Nope, daran liegts nicht, selbst Opera 38 zeigt da keine Funktion.
Edith 2: grade hab ich beim abtippen was festgestellt... kann es sein, dass da ein { zuviel drin ist?
Traditional Avatar by Darksittich
(Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2016 von Crash Override.)
|
|
|
05.07.2016 |
Leon
Vorschläfer
Adminpony
Beiträge: 5.430
Registriert seit: 12. Sep 2012
|
RE: Modifikationsscripte für Bronies.de
(05.07.2016)Crash Override schrieb: Und mir passiert wieder das gleiche wie beim letzten mal - ich kann es Zeichen für Zeichen abtippen, weil es bei FF nicht funktioniert, trotz Strg + C / Strg + V.
Also irgendwie stellst du dich da etwas doof an. Es sollte kein Problem sein, den Text zu kopieren, alles in einen Texteditor einzufügen und als [Dateiname].user.js (ohne .txt) zu speichern.
(05.07.2016)Crash Override schrieb: Im gegensatz zu Greasemonkey sagt mir Violentmonkey (Opera, da funzt es auch nicht), das da kein eintrag zu @grant da wäre. Ob das vielleicht das Problem bei mir darstellt...? Ich werd's da mal testen.
Falls @grant verlangt wird, füge einfach eine Zeile
// @grant none
vor dem // ==/UserScript== ein.
(05.07.2016)Crash Override schrieb: Edith 2: grade hab ich beim abtippen was festgestellt... kann es sein, dass da ein { zuviel drin ist?
Eigentlich müsste das passen. Das zusätzliche { ist in einer auskommentierten Zeile.
Dieser Post enthält keinen nicht jugendfreien Inhalt.
(Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2016 von Leon.)
|
|
|
05.07.2016 |
Crash Override
Faust
Beiträge: 14.545
Registriert seit: 10. Feb 2013
|
RE: Modifikationsscripte für Bronies.de
Irgendwas passt da dennoch nicht @ Leon - denn als ich es "abgetippt" hab, hatte ich am ende 2 } stehen.
Hier mal das, wie ich es aktuell drin hab - also das abgetippte:
Code:
// ==UserScript==
// @name Bronies.de RPG-Mod
// @description Stellt statt der Juwelen einen Erfahrungsbalken bis zum nächsten Levelup dar.
// @namespace Gallery
// @match http://*.bronies.de/showthread.php*
// @match http://*.bronies.de/member.php*
// @match http://*.bronies.de/memberlist.php*
// @match http://*.bronies.de/private.php*
// @version 1.2
// @author mrx
// @grant none
// ==/UserScript==
function makerank(lvl,von,bis,act) {
var act2 = act - von;
var bis2 = bis - von;
var prozent = Math.round((100 / bis2) * act2);
return '</span><span style="height:4px,width:' + prozent + 'px;background-color:#2F2;display:inline-block;"></span><span style="height:4px;width:' + (100 - prozent) + 'px;background-color:grey;display:inline-block;"></span><br>' +
'<span style="font-size:14px;display:inline-block;">' + act + '/' + bis + '</span> <span style="font-size:14px;display:inline-block;">lv ' + lvl + '</span><br>';
}
var ranks = $("[src^='images/stufe']");
//for (var i in ranks) {
for (var i = 0; i < ranks.length; i++) {
var rank = $(ranks[i]);
var posts = rank.parent(),html(),match(/Beiträge: ([\.\d]+)/)[1],replace(".", "");
var html = "";
if (posts >= 10000) html = makerank(11, 10000, 10000, posts);
else if (posts >= 7500) html = makerank(10, 7500, 10000, posts);
else if (posts >= 5000) html = makerank(9, 5000, 7500, posts);
else if (posts >= 2500) html = makerank(8, 2500, 5000, posts);
else if (posts >= 1000) html = makerank(7, 1000, 2500, posts);
else if (posts >= 750) html = makerank(6, 750, 1000, posts);
else if (posts >= 500) html = makerank(5, 500, 750, posts);
else if (posts >= 250) html = makerank(4, 250, 500, posts);
else if (posts >= 100) html = makerank(3, 100, 250, posts);
else if (posts >= 50) html = makerank(2, 50, 100, posts);
else if (posts >= 10) html = makerank(1, 10, 50, posts);
else html = makerank(0, 0, 10, posts);
rank.replaceWith(html);
}
}
Gerade am Ende müssten doch die 2 untereinander Stehenden } auffallen. Bei Rapti's Version, die ich Kopiert hab, ist nur 1 } zu sehen - und die hat nicht funktioniert, weder bei Firefox noch bei Opera.
Das ich mich beim kopieren etwas doof anstelle ist ja nix neues - das hatten wir ja bereits schonmal; und auch das Thema, das ich keinen "normalen" editor nutze (einfach, weil Kate bei Linux schwer zu finden ist) sondern direkt in Firefox / Greasemonkey das Editiere / Kopiere / abtippe...
Ich probier es jetzt mal mit der abgetippten Version, dann werd ich sehen, ob es danach geht oder nicht.
Ne, funzt immer noch nicht; war allerdings nicht anders zu erwarten.
Traditional Avatar by Darksittich
(Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2016 von Crash Override.)
|
|
|
05.07.2016 |
Leon
Vorschläfer
Adminpony
Beiträge: 5.430
Registriert seit: 12. Sep 2012
|
RE: Modifikationsscripte für Bronies.de
Das zweite } am Ende bei dir ist mir ein Rätsel. Bei mir wird mit Syntaxhervorhebung auch kein zugehöriges { angezeigt.
Ach ja: Bei dir sind auch ein paar Zeilen verändert oder falsch übernommen, keine Ahnung, ob das beabsichtigt war. Hier die Unterschiede von Raptis Version vs. deine:
Code:
@@ -2 +2 @@
-// @name Bronies.de RPG
+// @name Bronies.de RPG-Mod
@@ -10,0 +11 @@
+// @grant none
@@ -13 +14 @@
-function makerank(lvl, von, bis, act) {
+function makerank(lvl,von,bis,act) {
@@ -17,2 +18,2 @@
- return '</span><span style="height:4px;width:' + prozent + 'px;background-color:#2F2;display:inline-block;"></span><span style="height:4px;width:' + (100 - prozent) + 'px;background-color:grey;display:inline-block;"></span><br>' +
- '<span style="font-size:14px;display:inline-block;">' + act + '/' + bis + '</span> <span style="font-size:14px;display:inline-block;">Lv ' + lvl + '</span><br>';
+ return '</span><span style="height:4px,width:' + prozent + 'px;background-color:#2F2;display:inline-block;"></span><span style="height:4px;width:' + (100 - prozent) + 'px;background-color:grey;display:inline-block;"></span><br>' +
+ '<span style="font-size:14px;display:inline-block;">' + act + '/' + bis + '</span> <span style="font-size:14px;display:inline-block;">lv ' + lvl + '</span><br>';
@@ -25 +26 @@
- var posts = rank.parent().html().match(/Beiträge: ([\.\d]+)/)[1].replace(".", "");
+ var posts = rank.parent(),html(),match(/Beiträge: ([\.\d]+)/)[1],replace(".", "");
@@ -30 +31 @@
- else if (posts >= 2500) html = makerank(8, 2500, 7500, posts);
+ else if (posts >= 2500) html = makerank(8, 2500, 5000, posts);
@@ -39,0 +41 @@
+}
Dieser Post enthält keinen nicht jugendfreien Inhalt.
(Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2016 von Leon.)
|
|
|
05.07.2016 |
Crash Override
Faust
Beiträge: 14.545
Registriert seit: 10. Feb 2013
|
RE: Modifikationsscripte für Bronies.de
(05.07.2016)Leon schrieb: Das zweite } am Ende bei dir ist mir ein Rätsel. Bei mir wird mit Syntaxhervorhebung auch kein zugehöriges { angezeigt.
Ach ja: Bei dir sind auch ein paar Zeilen verändert oder falsch übernommen, keine Ahnung, ob das beabsichtigt war. Hier die Unterschiede von Raptis Version vs. deine:
Code:
@@ -2 +2 @@
-// @name Bronies.de RPG
+// @name Bronies.de RPG-Mod
@@ -10,0 +11 @@
+// @grant none
@@ -13 +14 @@
-function makerank(lvl, von, bis, act) {
+function makerank(lvl,von,bis,act) {
@@ -17,2 +18,2 @@
- return '</span><span style="height:4px;width:' + prozent + 'px;background-color:#2F2;display:inline-block;"></span><span style="height:4px;width:' + (100 - prozent) + 'px;background-color:grey;display:inline-block;"></span><br>' +
- '<span style="font-size:14px;display:inline-block;">' + act + '/' + bis + '</span> <span style="font-size:14px;display:inline-block;">Lv ' + lvl + '</span><br>';
+ return '</span><span style="height:4px,width:' + prozent + 'px;background-color:#2F2;display:inline-block;"></span><span style="height:4px;width:' + (100 - prozent) + 'px;background-color:grey;display:inline-block;"></span><br>' +
+ '<span style="font-size:14px;display:inline-block;">' + act + '/' + bis + '</span> <span style="font-size:14px;display:inline-block;">lv ' + lvl + '</span><br>';
@@ -25 +26 @@
- var posts = rank.parent().html().match(/Beiträge: ([\.\d]+)/)[1].replace(".", "");
+ var posts = rank.parent(),html(),match(/Beiträge: ([\.\d]+)/)[1],replace(".", "");
@@ -30 +31 @@
- else if (posts >= 2500) html = makerank(8, 2500, 7500, posts);
+ else if (posts >= 2500) html = makerank(8, 2500, 5000, posts);
@@ -39,0 +41 @@
+}
Ich hab keinen Plan, was daran nicht indentisch sein soll. Ich hab das alles genau abgetippt... Vergleichst du vielleicht zufälligerweise das Alte mit dem neueren Skript? Dann wäre es möglich, das dir veränderte Zeilen auffallen. Das letzte } hab ich mal manuell entfernt, denn es war seit zeile 24 da gestanden (die zeilen 23 + 24 hören jeweils mit einem { auf). Das 2te } sollte wohl lt. Greasemonkey zu dem aus Zeile 23 passen, da das dem Vorletzten auf Zeile 24 schließt. Das einzig beabsichtigte ist das Wort RPG-Mod, da es korrekterweise auch so im Startpost geführt wurde sowie das @grant none.
Hier mal 3 Versionen - als erstes die abgetippte, danach die von Rapti kopierte und als allerletztes das "alte" Skript:
Abgetippt
Code:
// ==UserScript==
// @name Bronies.de RPG-Mod
// @description Stellt statt der Juwelen einen Erfahrungsbalken bis zum nächsten Levelup dar.
// @namespace Gallery
// @match http://*.bronies.de/showthread.php*
// @match http://*.bronies.de/member.php*
// @match http://*.bronies.de/memberlist.php*
// @match http://*.bronies.de/private.php*
// @version 1.2
// @author mrx
// @grant none
// ==/UserScript==
function makerank(lvl,von,bis,act) {
var act2 = act - von;
var bis2 = bis - von;
var prozent = Math.round((100 / bis2) * act2);
return '</span><span style="height:4px,width:' + prozent + 'px;background-color:#2F2;display:inline-block;"></span><span style="height:4px;width:' + (100 - prozent) + 'px;background-color:grey;display:inline-block;"></span><br>' +
'<span style="font-size:14px;display:inline-block;">' + act + '/' + bis + '</span> <span style="font-size:14px;display:inline-block;">lv ' + lvl + '</span><br>';
}
var ranks = $("[src^='images/stufe']");
//for (var i in ranks) {
for (var i = 0; i < ranks.length; i++) {
var rank = $(ranks[i]);
var posts = rank.parent(),html(),match(/Beiträge: ([\.\d]+)/)[1],replace(".", "");
var html = "";
if (posts >= 10000) html = makerank(11, 10000, 10000, posts);
else if (posts >= 7500) html = makerank(10, 7500, 10000, posts);
else if (posts >= 5000) html = makerank(9, 5000, 7500, posts);
else if (posts >= 2500) html = makerank(8, 2500, 5000, posts);
else if (posts >= 1000) html = makerank(7, 1000, 2500, posts);
else if (posts >= 750) html = makerank(6, 750, 1000, posts);
else if (posts >= 500) html = makerank(5, 500, 750, posts);
else if (posts >= 250) html = makerank(4, 250, 500, posts);
else if (posts >= 100) html = makerank(3, 100, 250, posts);
else if (posts >= 50) html = makerank(2, 50, 100, posts);
else if (posts >= 10) html = makerank(1, 10, 50, posts);
else html = makerank(0, 0, 10, posts);
rank.replaceWith(html);
}
Von Rapti Kopiert
Code:
// ==UserScript==
// @name Bronies.de RPG
// @description Stellt statt der Juwelen einen Erfahrungsbalken bis zum nächsten Levelup dar.
// @namespace Gallery
// @match http://*.bronies.de/showthread.php*
// @match http://*.bronies.de/member.php*
// @match http://*.bronies.de/memberlist.php*
// @match http://*.bronies.de/private.php*
// @version 1.2
// @author mrx
// ==/UserScript==
function makerank(lvl, von, bis, act) {
var act2 = act - von;
var bis2 = bis - von;
var prozent = Math.round((100 / bis2) * act2);
return '</span><span style="height:4px;width:' + prozent + 'px;background-color:#2F2;display:inline-block;"></span><span style="height:4px;width:' + (100 - prozent) + 'px;background-color:grey;display:inline-block;"></span><br>' +
'<span style="font-size:14px;display:inline-block;">' + act + '/' + bis + '</span> <span style="font-size:14px;display:inline-block;">Lv ' + lvl + '</span><br>';
}
var ranks = $("[src^='images/stufe']");
//for (var i in ranks) {
for (var i = 0; i < ranks.length; i++) {
var rank = $(ranks[i]);
var posts = rank.parent().html().match(/Beiträge: ([\.\d]+)/)[1].replace(".", "");
var html = "";
if (posts >= 10000) html = makerank(11, 10000, 10000, posts);
else if (posts >= 7500) html = makerank(10, 7500, 10000, posts);
else if (posts >= 5000) html = makerank(9, 5000, 7500, posts);
else if (posts >= 2500) html = makerank(8, 2500, 7500, posts);
else if (posts >= 1000) html = makerank(7, 1000, 2500, posts);
else if (posts >= 750) html = makerank(6, 750, 1000, posts);
else if (posts >= 500) html = makerank(5, 500, 750, posts);
else if (posts >= 250) html = makerank(4, 250, 500, posts);
else if (posts >= 100) html = makerank(3, 100, 250, posts);
else if (posts >= 50) html = makerank(2, 50, 100, posts);
else if (posts >= 10) html = makerank(1, 10, 50, posts);
else html = makerank(0, 0, 10, posts);
rank.replaceWith(html);
}
Das alte Skript
Code:
// ==UserScript==
// @name Sterne für Bronies.de
// @description Du vermisst die alten Sterne? Dann ist das hier das Richtige für dich!
// @namespace Gallery
// @match http://*.bronies.de/showthread.php*
// @match http://*.bronies.de/member.php*
// @match http://*.bronies.de/memberlist.php*
// @match http://*.bronies.de/private.php*
// @version 1.1
// @author Rapti
// @require http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
// ==/UserScript==
this.$ = this.jQuery = jQuery.noConflict(true);
function makerank(lvl, von, bis, act)
{
var act2=act-von;
var bis2=bis-von;
var prozent=Math.round((100/bis2)*act2);
//return '<table width="100" bgcolor="red" cellpadding="0" cellspacing="0" bordercolor="black" border="1"><tr><td width="'+prozent+'" bgcolor="green"> </td><td width="'+(100-prozent)+'"></td></tr></table>';
return '</span><span style="height:4px;width:'+prozent+'px;background-color:green;display:inline-block;"></span><span style="height:4px;width:'+(100-prozent)+'px;background-color:grey;display:inline-block;"></span><br>'+
'<span style="font-size:14px;display:inline-block;">'+act+'/'+bis+'</span> <span style="font-size:14px;display:inline-block;">Lv '+lvl+'</span><br>';
}
var ranks = $("[src^='images/stufe']");
//for (var i in ranks) {
for(var i=0;i<ranks.length;i++)
{
var rank = $(ranks[i]);
var posts=rank.parent().html().match(/Beiträge:(.+?)<br>/)[1].replace(".","");
var html="";
if(posts>=10000)html=makerank(11,10000,10000,posts);
else if(posts>=7500)html=makerank(10,7500,10000,posts);
else if(posts>=5000)html=makerank(9,5000,7500,posts);
else if(posts>=2500)html=makerank(8,2500,7500,posts);
else if(posts>=1000)html=makerank(7,1000,2500,posts);
else if(posts>=750)html=makerank(6,750,1000,posts);
else if(posts>=500)html=makerank(5,500,750,posts);
else if(posts>=250)html=makerank(4,250,500,posts);
else if(posts>=100)html=makerank(3,100,250,posts);
else if(posts>=50)html=makerank(2,50,100,posts);
else if(posts>=10)html=makerank(1,10,50,posts);
else html=makerank(0,0,10,posts);
rank.replaceWith(html);
}
Ironischerweise Steht beim alten Skript Rapti als Author, allerdings sagt Rapti selbst, es sei nicht von ihm...
Und btw, keines der 3 funktionierte... auch wenn ich jetzt beim direkten vergleich die Fehler sehe (zumindest einige davon), die ich wohl versehentlich gemacht habe.
Eins versteh' ich da grade nicht... gut, es ist im alten Skript ebenfalls so, aber wenn ich mir den Aufbau der Zeilen
(05.07.2016)Leon schrieb:
Code:
- else if (posts >= 2500) html = makerank(8, 2500, 7500, posts);
+ else if (posts >= 2500) html = makerank(8, 2500, 5000, posts);
anschaue, dann frage ich mich, "Wieso einmal von 2500 auf 7500?" und "Wieso einmal von 5000 auf 7500?". Das ich da von 2500 - 5000 geschrieben hab als Rang 8 ist mehr so erklärbar, da ab 5000 wieder ein anderer Rang anfängt und damit auch (logischerweise) der vorherige Enden muss. Sonst müsste ja ab 5000 Posts Rang 8 + 9 angezeigt werden... zumindest nach logischem Verständnis (das nix mit Scripten zu tun hat). Ist doch so korrekt, oder?
Edith II: ich hab jetzt das (sowie die zeile oben) ebenfalls editiert - keine verbesserung, geschweige Funktion.
Traditional Avatar by Darksittich
(Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2016 von Crash Override.)
|
|
|
05.07.2016 |
Leon
Vorschläfer
Adminpony
Beiträge: 5.430
Registriert seit: 12. Sep 2012
|
RE: Modifikationsscripte für Bronies.de
Ich hab lediglich das Skript von Rapti mit dem Skript, was du oben gepsotet hast verglichen, da ich davon ausging, dass beide eigentlich nahezu identisch sein sollten.
Ohne jetzt zu beurteilen, ob sich das auf das Skript auswirkt, gibt es bei der abgetippten Version 2 möglicherweise relevante Unterschiede/Fehler:
in Zeile 18 steht bei dir:
...style="height:4px ,width:' statt
...style="height:4px;width:' (Komma statt Strichpunkt)
in Zeile 26 hast du
var posts = rank.parent() ,html() ,match(/Beiträge: ([\.\d]+)/)[1] ,replace(".", ""); wobei es
var posts = rank.parent().html().match(/Beiträge: ([\.\d]+)/)[1].replace(".", ""); heißen sollte (3 mal Komma statt Punkt).
Dieser Post enthält keinen nicht jugendfreien Inhalt.
|
|
|
05.07.2016 |
Crash Override
Faust
Beiträge: 14.545
Registriert seit: 10. Feb 2013
|
RE: Modifikationsscripte für Bronies.de
Ok, ich hab jetzt nochmal alles geckeckt und vorhin korrigiert gehabt - normal müsste es funktionieren.
Wenn es bei FF nicht geht, dann müsste es normalerweise zumindest bei Opera eine Wirkung erzielen (denn da hab ich nur das von Rapti kopierte sowie probeweise das alte von mrx draufgepackt); doch selbst da geht nichts. Echt, ich check's einfach nicht warum es ausgereichnet bei mir nicht geht...
Aktuellste Version des (korrigierten) Skriptes
Code:
// ==UserScript==
// @name Bronies.de RPG
// @description Stellt statt der Juwelen einen Erfahrungsbalken bis zum nächsten Levelup dar.
// @namespace Gallery
// @match http://*.bronies.de/showthread.php*
// @match http://*.bronies.de/member.php*
// @match http://*.bronies.de/memberlist.php*
// @match http://*.bronies.de/private.php*
// @version 1.2
// @author mrx
// ==/UserScript==
function makerank(lvl, von, bis, act) {
var act2 = act - von;
var bis2 = bis - von;
var prozent = Math.round((100 / bis2) * act2);
return '</span><span style="height:4px;width:' + prozent + 'px;background-color:#2F2;display:inline-block;"></span><span style="height:4px;width:' + (100 - prozent) + 'px;background-color:grey;display:inline-block;"></span><br>' +
'<span style="font-size:14px;display:inline-block;">' + act + '/' + bis + '</span> <span style="font-size:14px;display:inline-block;">Lv ' + lvl + '</span><br>';
}
var ranks = $("[src^='images/stufe']");
//for (var i in ranks) {
for (var i = 0; i < ranks.length; i++) {
var rank = $(ranks[i]);
var posts = rank.parent().html().match(/Beiträge: ([\.\d]+)/)[1].replace(".", "");
var html = "";
if (posts >= 10000) html = makerank(11, 10000, 10000, posts);
else if (posts >= 7500) html = makerank(10, 7500, 10000, posts);
else if (posts >= 5000) html = makerank(9, 5000, 7500, posts);
else if (posts >= 2500) html = makerank(8, 2500, 7500, posts);
else if (posts >= 1000) html = makerank(7, 1000, 2500, posts);
else if (posts >= 750) html = makerank(6, 750, 1000, posts);
else if (posts >= 500) html = makerank(5, 500, 750, posts);
else if (posts >= 250) html = makerank(4, 250, 500, posts);
else if (posts >= 100) html = makerank(3, 100, 250, posts);
else if (posts >= 50) html = makerank(2, 50, 100, posts);
else if (posts >= 10) html = makerank(1, 10, 50, posts);
else html = makerank(0, 0, 10, posts);
rank.replaceWith(html);
}
Wenn jetzt kein fehler mehr drin is, geb ich's auf - denn dann bringt das ganze herumgemurkse nichts.
Traditional Avatar by Darksittich
|
|
|
10.08.2016 |
mrx1983
Streamerpony
Beiträge: 4.672
Registriert seit: 05. Jul 2012
|
RE: Modifikationsscripte für Bronies.de
(05.07.2016)Rapti schrieb: Der reguläre Ausdruck war irgendwie seltsam. Es wundert mich, dass das vorher funktioniert haben soll.
Wie auch immer, ich hab das Skript repariert. Außerdem habe ich die Beschreibung angepasst sowie überflüssigen oder auskommentierten Code entfernt.
was war denn daran seltsam? ich habe einfach das genommen was zwischen beiträge und <br> gestanden hat.
aber danke für das fixen, ich war ja nicht da wegen des blitzschadens.
ich schau nachher nochmal drüber, und repariere das script mal richtig, da es ja noch probleme zu geben scheint.
ich update dann auch mal meinen post etc.
edit: also ich hab mein altes script nochmal getestet, und es läuft im ff48.
vielleicht war das ja ein bug im ff47, od. es beißt sich mit einem anderen script.
(Dieser Beitrag wurde zuletzt bearbeitet: 10.08.2016 von mrx1983.)
|
|
|
10.08.2016 |
Crash Override
Faust
Beiträge: 14.545
Registriert seit: 10. Feb 2013
|
RE: Modifikationsscripte für Bronies.de
im aktuellen FF (48) sowie nach einer vor längeren zeit abgearbeiteten Reinstallation (inzwischen auf *buntu 14.04.5) funktioniert das Script auch wieder problemlos (Rapti's version).
Möglich, das es teilweise bei FF47 nicht funktioniert hat.
Traditional Avatar by Darksittich
|
|
|
26.08.2016 |
Crash Override
Faust
Beiträge: 14.545
Registriert seit: 10. Feb 2013
|
RE: Modifikationsscripte für Bronies.de
Ich korigiere mich mal: auch in der aktuellen FF-Version scheint es nicht zu funktionieren. War wohl ein kurzweiliger Effekt das es ging...
FF 48.0+build2-0ubuntu0.14.04.1
Traditional Avatar by Darksittich
|
|
|
26.08.2016 |
Cloud Striker
Wonderbolt
Beiträge: 2.054
Registriert seit: 12. Aug 2013
|
RE: Modifikationsscripte für Bronies.de
Irgendwie funzt der Banner-Replacer bei mir net.
|
|
|
08.09.2016 |
Root
Ponyville Pony
Beiträge: 149
Registriert seit: 12. Dez 2013
|
RE: Modifikationsscripte für Bronies.de
Hier eins, mit dem man das Hervorheben von Texten, wenn man etwas gesucht hat umschalten kann.
Der Schalter dafür ist dann oben links auf einer Seite mit hervorgehobenen Text.
Code:
// ==UserScript==
// @name Highlight switch
// @namespace Rootsskripte
// @include http://www.bronies.de/*highlight=*
// @include https://www.bronies.de/*highlight=*
// @version 1
// @grant none
// ==/UserScript==
(function(){
var index = -1;
createMenu();
function createMenu(){
var container = createContainerDiv();
var box = createHiddenTextBox();
var label = createLabelForCheckbox();
label.addEventListener("click",toggle)
container.appendChild(box);
container.appendChild(label);
document.body.appendChild(container);
}
function createHiddenTextBox(){
var box = document.createElement("input");
box.id ="IQB0xh05Oou32ev8FKtkDSnSruavnCjCJ6Oa0kxMh31atWhPZZ";
box.type = "checkbox";
box.checked = true;
box.style.display = "none";
return box;
}
function createContainerDiv(){
var container = document.createElement("div");
container.style.display = "inline-block";
container.style.position = "fixed";
container.style.left = "3vmin";
container.style.top = "3vmin";
return container;
}
function createLabelForCheckbox(){
var label = document.createElement("label");
label.htmlFor = "IQB0xh05Oou32ev8FKtkDSnSruavnCjCJ6Oa0kxMh31atWhPZZ";
label.className = "uQkOVkLEWLZo2J6iFMsbjGj3CuUJGr1nzDlhyJXCqLk3UfIRGZ";
addCSS();
return label;
}
function addCSS(){
var length = document.styleSheets.length;
var css = document.styleSheets[length-1];
css.insertRule(
'.uQkOVkLEWLZo2J6iFMsbjGj3CuUJGr1nzDlhyJXCqLk3UfIRGZ{\
height: 3vmin;\
width: 8vmin;\
border-radius: 2vmin;\
background-color: #acacac;\
display: inline-block;\
}\
'
,1);
css.insertRule(
'.uQkOVkLEWLZo2J6iFMsbjGj3CuUJGr1nzDlhyJXCqLk3UfIRGZ::after{\
height: 4.5vmin;\
width: 4.5vmin;\
border-radius: 4.5vmin;\
background-color: #FFFFCC;\
content: "";\
display: inline-block;\
margin-top: -0.75vmin;\
}\
'
,1);
css.insertRule(
'#IQB0xh05Oou32ev8FKtkDSnSruavnCjCJ6Oa0kxMh31atWhPZZ:checked ~ .uQkOVkLEWLZo2J6iFMsbjGj3CuUJGr1nzDlhyJXCqLk3UfIRGZ::after{\
float:right;\
}\
'
,1);
css.insertRule(
'#IQB0xh05Oou32ev8FKtkDSnSruavnCjCJ6Oa0kxMh31atWhPZZ ~ .uQkOVkLEWLZo2J6iFMsbjGj3CuUJGr1nzDlhyJXCqLk3UfIRGZ::after{\
float:left;\
}\
'
,1);
}
function toggle(){
if (document.getElementById("IQB0xh05Oou32ev8FKtkDSnSruavnCjCJ6Oa0kxMh31atWhPZZ").checked)
removeHighlight();
else
reAddHighlight();
}
function removeHighlight(){
var css = getGlobalCSS();
index = css.cssRules.length;
css.insertRule(
'\
.highlight{\
background: none;\
}\
'
,index);
}
function reAddHighlight(){
var css = getGlobalCSS();
css.deleteRule(index);
}
function getGlobalCSS(){
for(var x of document.styleSheets){
if(x.href.search(/global\.css$/) > -1){
return x;
}
}
}
})();
|
|
|
09.09.2016 |
Leon
Vorschläfer
Adminpony
Beiträge: 5.430
Registriert seit: 12. Sep 2012
|
RE: Modifikationsscripte für Bronies.de
(08.09.2016)Root schrieb: box.id ="IQB0xh05Oou32ev8FKtkDSnSruavnCjCJ6Oa0kxMh31atWhPZZ";
Lel. Hast du die IDs für doe CSS-Elemente automatisch generiert oder von Hand?
Dieser Post enthält keinen nicht jugendfreien Inhalt.
|
|
|
12.09.2016 |
Rapti
Brinkhoffskadse
Beiträge: 1.713
Registriert seit: 19. Jun 2012
|
RE: Modifikationsscripte für Bronies.de
Eine sinnvolle, selbsterklärende ID vereinfacht Dinge trotzdem. Wenn du auf Nummer sicher gehen willst, dann halt mit Präfix.
|
|
|
14.09.2016 |
Crash Override
Faust
Beiträge: 14.545
Registriert seit: 10. Feb 2013
|
RE: Modifikationsscripte für Bronies.de
Es gibt ein Problem mit dem "Hide Avatar / signatur / Post" - Script.
Wenn ich bei einen User, der auf die Igno-Liste gesetzt ist, den post aufklappe, verschwinden auf der Kompletten Seite die Buttons - ergo: ich kann bei einem bestimmten User weder den Avatar, noch die Signatur seperat verstecken.
Wenn ich das auf einer anderen Seite probiere (nur die Funktion), dan tut sie was sie soll.
Traditional Avatar by Darksittich
|
|
|
15.09.2016 |
Root
Ponyville Pony
Beiträge: 149
Registriert seit: 12. Dez 2013
|
RE: Modifikationsscripte für Bronies.de
Also dass die Buttons veschwinden, konnte ich nicht reproduzieren. Aber ja so richtig hat das mit dem Ava und dem Ignorieren auch bei mir nicht hingehauen. Diese geänderte Version hat zumindest meine Probleme gelöst.
Code:
// ==UserScript==
// @name Hide Ava/Sig/Post
// @fullname Verstecke Posts, Avatare oder Signaturen
// @author Merrx
// @version 2013.02.25
// @include *.bronies.de/showthread.php*
// @grant none
// ==/UserScript==
// Bereitstellen der Lade und Speicherfunkionen, falls sie nicht vorhanden sind
if (typeof GM_deleteValue == 'undefined') {
GM_getValue = function(name, defaultValue) {
var value = window.localStorage.getItem(name);
if (!value)
return defaultValue;
var type = value[0];
value = value.substring(1);
switch (type) {
case 'b':
return value == 'true';
case 'n':
return Number(value);
default:
return value;
}
}
GM_setValue = function(name, value) {
value = (typeof value)[0] + value;
window.localStorage.setItem(name, value);
}
GM_deleteValue = function(name) {
window.localStorage.removeItem(name);
}
}
var hiddenPosts = JSON.parse(GM_getValue('hiddenPosts', '[]'));
var hiddenSigs = JSON.parse(GM_getValue('hiddenSigs', '[]'));
var hiddenAvas = JSON.parse(GM_getValue('hiddenAvas', '[]'));
for(var i=0; i<document.getElementById("posts").children.length; i++) {
if(document.getElementById("posts").children[i].id != "") {
var post = document.getElementById("posts").children[i];
var pid = post.id.substr(5);
var uid = post.getElementsByClassName('largetext')[0].children[0].href.split('=')[2];
// Posts ausblenden
var pbtn = document.createElement("button");
pbtn.innerHTML = "Verstecke Post";
pbtn.value=pid;
pbtn.addEventListener('click', function() { changeHidePost(this); }, false);
document.getElementById("posts").children[i].children[0].children[0].children[0].appendChild(pbtn);
for(var j = 0; j < hiddenPosts.length ; j++) {
if(hiddenPosts[j] == pid) {
pbtn.innerHTML = "Zeige Post";
post.children[0].children[1].style.display = 'none';
post.children[0].children[2].style.display = 'none';
}
}
// Signaturen ausblenden
var sbtn = document.createElement("button");
sbtn.innerHTML = "Verstecke Sig";
sbtn.value=uid; sbtn.setAttribute("class", "hideSig");
sbtn.addEventListener('click', function() { changeHideSig(this.value); }, false);
document.getElementById("posts").children[i].children[0].children[0].children[0].appendChild(sbtn);
for(var j = 0; j < hiddenSigs.length ; j++) {
if(hiddenSigs[j] == uid) {
sbtn.innerHTML = "Zeige Sig";
if(sig = post.getElementsByClassName('signature')) {
sig[0].style.display = 'none';
sig[0].previousSibling.previousSibling.style.display = 'none';
}
break;
}
}
// Avatare ausblenden
var abtn = document.createElement("button");
abtn.innerHTML = "Verstecke Ava";
abtn.value=uid; abtn.setAttribute("class", "hideAva");
abtn.addEventListener('click', function() { changeHideAva(this.value); }, false);
document.getElementById("posts").children[i].children[0].children[0].children[0].appendChild(abtn);
for(var j = 0; j < hiddenAvas.length ; j++) {
if(hiddenAvas[j] == uid) {
abtn.innerHTML = "Zeige Ava";
var ava = post.querySelector('div.author_avatar>a[href*="member.php"]>img');
if(ava === null) continue;
ava.style.display = 'none';
break;
}
}
}
}
function changeHidePost(post) {
if(post.innerHTML == "Verstecke Post") {
post.innerHTML = "Zeige Post";
post.parentNode.parentNode.parentNode.children[2].style.display = 'none';
post.parentNode.parentNode.parentNode.children[1].style.display = 'none';
hiddenPosts.push(post.value);
} else {
post.innerHTML = "Verstecke Post";
post.parentNode.parentNode.parentNode.children[1].style.display = '';
post.parentNode.parentNode.parentNode.children[2].style.display = '';
for(var j = 0; j < hiddenPosts.length ; j++) {
if(hiddenPosts[j] == post.value) {
hiddenPosts.splice(j,1);
break;
}
}
}
GM_setValue('hiddenPosts', JSON.stringify(hiddenPosts));
}
function changeHideSig(sid) {
var t = -1;
for(var i=0; i<document.getElementsByClassName("signature_"+sid).length; i++) {
var sig = document.getElementsByClassName("signature_"+sid)[i];
var sbtn = document.getElementsByClassName("signature_"+sid)[i].parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.getElementsByClassName("hideSig")[0];
if(sbtn.innerHTML == "Verstecke Sig") {
if(t == -1) t = 0;
sbtn.innerHTML = "Zeige Sig";
sig.style.display = 'none';
sig.previousSibling.previousSibling.style.display = 'none';
} else {
if(t == -1) t = 1;
sbtn.innerHTML = "Verstecke Sig";
sig.style.display = '';
sig.previousSibling.previousSibling.style.display = '';
}
}
if(t==0) {
hiddenSigs.push(sid);
}
if(t==1) {
for(var j = 0; j < hiddenSigs.length ; j++) {
if(hiddenSigs[j] == sid) {
hiddenSigs.splice(j,1);
break;
}
}
}
GM_setValue('hiddenSigs', JSON.stringify(hiddenSigs));
}
function changeHideAva(aid) {
console.log("in");
var t = -1;
for(var i=0; i<document.getElementsByClassName('largetext').length; i++) {
var uid = document.getElementsByClassName('largetext')[i].children[0].href.split('=')[2];
console.log(uid,aid,document.getElementsByClassName('largetext')[i]);
if(uid != aid) continue;
var post = document.getElementsByClassName('largetext')[i].parentNode;
console.log(uid,aid,post);
for(var j = 0; j < 10;j++){
if(post.tagName == "TABLE" && (post.id.search("post") > -1)){
break;
}
post = post.parentNode;
}
var abtn = post.querySelector(".hideAva");
var ava = post.querySelector('div.author_avatar>a[href*="member.php"]>img');
console.log(abtn,ava)
if(abtn.innerHTML == "Verstecke Ava") {
//if(t == -1) t = 0;
abtn.innerHTML = "Zeige Ava";
if(ava === null) continue;
ava.style.display = 'none';
} else {
//if(t == -1) t = 1;
abtn.innerHTML = "Verstecke Ava";
if(ava === null) continue;
ava.style.display = 'block';
}
}
if(hiddenAvas.indexOf(aid) < 0) {
hiddenAvas.push(aid);
}
else{
hiddenAvas.splice(hiddenAvas.indexOf(aid),1);
}
GM_setValue('hiddenAvas', JSON.stringify(hiddenAvas));
}
(26.08.2016)Cloud Striker schrieb: Irgendwie funzt der Banner-Replacer bei mir net.
Ist eigentlich ein super einfaches Skript, das funktieren sollte.
Auch wenn man es theoretisch ändern könnte um nich einfach das erste Bild zunehmen
Mein Vorschlag wäre dann:
Code:
// ==UserScript==
// @name bronies.de Banner Replace
// @namespace http://use.i.E.your.homepage/
// @version 0.1
// @description enter something useful
// @match http://*bronies.de/*
// @copyright 2012+, You
// @grant none
// ==/UserScript==
replace_image="http://24.media.tumblr.com/tumblr_m2lhjcA3m91rsw2ojo1_1280.png";
document.body.querySelector(".logo img").src=replace_image;
(Dieser Beitrag wurde zuletzt bearbeitet: 15.09.2016 von Root.)
|
|
|
15.09.2016 |
rainbowderpy
Karaokederp
Beiträge: 331
Registriert seit: 05. Mai 2015
|
RE: Modifikationsscripte für Bronies.de
PS: falls eure Server das unterstützen, nutzt weitestgehend Adressen mit https:// anstelle http:// - so spart ihr euch später / nächstes Jahr die Umstellungsarbeit wenn die Browserhersteller das voraussetzen.
|
|
|
15.09.2016 |
Crash Override
Faust
Beiträge: 14.545
Registriert seit: 10. Feb 2013
|
RE: Modifikationsscripte für Bronies.de
@ Root: die Version funzt problemlos, thx!
Traditional Avatar by Darksittich
|
|
|
|