Beiträge von Zitronella
-
-
Schön und gut verständlich geschriebener Artikel. Es ist wirklich gruselig was alles möglich ist und auch gemacht wird

-
Ich komme immer mit den Klammern durcheinander. Gibt es Nachteile wenn ich es nicht herausziehe aus dem Konstrukt? Für mich ist es als Laien übersichtlicher wenn es so wie ich oben postete 2x drin ist. Aber wenns falsch ist, und/oder irgendwelche Nachteile bringt dann mache ich es natürlich so wie du sagst.
Wäre das dann so?
JavaScript
Alles anzeigenlet registered = null; async function ToolbarButtonClicked() { const options = await browser.storage.local.get(); browser.storage.local.set({ enabled : !options.enabled }); await UpdateBadge(); } async function UpdateBadge() { const options = await browser.storage.local.get(); let badgeText; let badgeTitle; if (options.enabled) { registered = await browser.contentScripts.register({ matches: ['*://*/*'], js: [{ file : 'content.js' }], runAt: 'document_start' }); badgeText = 'X'; badgeTitle = 'title_enabled'; } else { badgeText = ''; badgeTitle = 'title_disabled'; if (registered) { registered.unregister(); } } browser.tabs.reload(); const title = browser.i18n.getMessage("button_title") + " (" + browser.i18n.getMessage(badgeTitle) + ")"; browser.browserAction.setTitle({ title : title }); browser.browserAction.setBadgeText({ text : badgeText }); } // Set background color to a non-intrusive gray browser.browserAction.setBadgeBackgroundColor({color: "#545454"}); // Register event listeners browser.browserAction.onClicked.addListener(ToolbarButtonClicked); // Update badge for the first time UpdateBadge();Weil wenn ich es eine Klammer vorher einfüge, lädt es nur nach else
-
Ich lasse das erst einmal mit Github, einen Account habe ich dort zwar, aber wenn dann nur um dort mal einen Bugreport zu melden.
Ich habe nun in background.js die Zeilen
JavaScriptbadgeText = 'X'; badgeTitle = 'title_enabled'; } else { badgeText = ''; badgeTitle = 'title_disabled';ergänzt mit browser.tabs.reload();
JavaScriptbadgeText = 'X'; badgeTitle = 'title_enabled'; browser.tabs.reload(); } else { badgeText = ''; badgeTitle = 'title_disabled'; browser.tabs.reload();das funktioniert auch wunderbar, der aktuelle Tab wird neu geladen. Nun meine Frage: ist es sinnvoll das so zu machen, oder sollte ich stattdessen besser browser.tabs.reload({bypassCache: true}); nehmen?
-
Im übrigen kontrolliert das DRM-Modul auch, ob Firefox.exe verändert wurde.
müsstest du eigentlich wissen
Ich würde auch generell abraten original Dateien wie die firefox.exe zu verändern.Du kannst ja mal testen ob du dieses Video abspielen kannst.
-
ähnliche Scripte in die content_script.js rein machen könnte
oha, ich bin immer mehr begeistert. Das funktioniert. Ich habe einen Code auf Github gefunden, der zusätzlich noch
window.onfocus() and window.onblur aus schaltet. In die content.js rein getan (ja ich habe die mal umbenannt) und es funktioniert

Ist es sinnvoll auf Github dazu ein Projekt (oder wie man das nennt) zu starten um die ganze Code Klauerei zu dokumentieren? Dann könnte ich, wenn die Erweiterung irgendwann mal auf AMO ist auch auf die Github Seite verweisen für den Quelltext. Wobei wenn es wirklich zu Problemen kommt habe ich doch keine Ahnung wie man Fehler ausbügelt.

-
Dafür schon mal ein dickes Lob als Vorschusslorbeer. Leider halten es viele Add-on-Entwickler nicht für selbstverständlich Lokalisierbarkeit zu gewährleisten.
Danke. Aber ich bin ja auch kein Entwickler. Ich fummel nur rum und irgendwann mit viel Hilfe kommt vielleicht was brauchbares dabei raus

-
Wow, das ist ja mal richtig klasse. Ich kopiere auch nicht nur blind ab sondern versuche auch zu verstehen, schließlich möchte ich auch etwas dabei lernen. Da danke ich dir besonders auch für die zusätzlichen Erklärungen.

Auf jeden Fall funktioniert das alles genau so wie ich es mir vorgestellt hatte. Eine Datei, die die eigentliche Inhaltsdatei bei Klick aktiviert/deaktiviert. Dass ich die Seite neu laden muss um die Wirkung zu sehen, ist klar, das sind dann die nächsten Schritte, dass die Seite/Tab dadurch auch gleich mit neu geladen wird. Aber erst einmal wollte ich das Grundgerüst haben und das ist hiermit erstellt.
Nun kann ich mich an die Anpassungen/Übersetzungen/Feinschliffe machen.

Was mich wundert, ich habe mir bestimmt über 50 Erweiterungen angesehen und nichts vergleichbares gefunden. Meist bestanden sie (zumindest die kleineren) nur aus einer background.js Datei, in der dann alles drin stand. Keine einzige hatte was von
let registered = null; drin stehen, auch nicht die Beispieldateien, die es dort im Paket gibt. In Verbindung mit
async function ToolbarButtonClicked spuckt nicht mal Google was brauchbares dazu aus.
Insofern hätte ich das niemals alleine hin bekommen.
Das bedeutet also auch, dass man ähnliche Scripte in die content_script.js rein machen könnte wie das Originale und es würde wohl funktionieren?

-
klar, mache ich. Wobei ich _locales noch nicht angepasst habe, aber das bekomme ich wahrscheinlich alleine hin.
EDIT: ich habe noch einmal verändert und zwei Skripte drin
In background.js ist der Code von Toggle Fonts drin in der content_script.js ist der einfache Code aus Beitrag #1 drin
Definiert/gelistet habe ich beide in der manifest.json nur haben sie überhaupt keinen Bezug zueinander und ich weiß nicht wie ich die beiden verbinde.
Sprich, momentan ist es so, dass per Klick auf den Button die Schriftart umgestellt wird und ansonsten auf Seiten wie http://daniemon.com/tech/webapps/page-visibility/ die Erkennung ob Tab im Vordergrund ist, ausgeschaltet ist.
-
So, ich habe mich mal etwas näher beschäftigt und fest gestellt ich muss wohl kleiner anfangen, also erst einmal nur Punkt 1, der Rest kann dann vielleicht folgen.
Ich scheitere allerdings am content_script.js.
Mir ist nicht klar was da an Code rein muss

Ich habe mir mal die Erweiterung Toggle Fonts angesehen, da dort die Umschaltung so schön genau das macht wie ich es haben möchte, und der Quellcode recht kurz ist.
Ich habe es soweit auch auf meine Erweiterung übertragen können bezüglich Buttons, Klicks, Sprache usw. nur der eigentliche Inhalt ist mein Problem.
Der (verkürzte) Inhalt von Toggle Fonts ist
JavaScript
Alles anzeigen// Fired if the toolbar button is clicked. // Toggles the font setting. async function ToolbarButtonClicked() { let value = (await browser.browserSettings.useDocumentFonts.get({})) .value; await browser.browserSettings.useDocumentFonts.set({ value: !value }); await UpdateBadge(); } // Sets browserAction badge text based on font status. async function UpdateBadge() { const value = (await browser.browserSettings.useDocumentFonts.get({})) .value; const badgetext = value ? "" : "X"; const title = browser.i18n.getMessage("button_title") + " (" + browser.i18n.getMessage(value ? "title_enabled" : "title_disabled") + ")"; if (browser.browserAction.setBadgeText !== undefined) // Not Android browser.browserAction.setBadgeText({ text: badgetext }); browser.browserAction.setTitle({ title: title }); } // Set background color to a non-intrusive gray if (browser.browserAction.setBadgeBackgroundColor !== undefined) // Not Android browser.browserAction.setBadgeBackgroundColor({ color: "#666666" }); // Register event listeners browser.browserAction.onClicked.addListener(ToolbarButtonClicked); // Update badge for the first time UpdateBadge();Jetzt meine Frage: was muss da stehen, damit es nicht die Schriftart an/aus schaltet, sondern die "Page Visibility API" ?
Es gibt auch hier im Forum ein Skript für Tampermonkey, was ich mir auch angehen habe, in der Hoffnung, dort etwas heraus lesen zu können, aber auch da scheitere ich
Ich habe einfach zu wenig Ahnung von der Materie.Ist mein Vorhaben eine zu große Nummer für mich, oder kannst du mir doch helfen, Sören Hentzschel ?
-
du musst dann natürlich in den Einstellungen: Allgemein - Start - "Vorherige Sitzung wieder herstellen" den Haken machen.
-
Nein, neu installieren bringt gar nix. Ich schlug dir nicht umsonst das mit der Profilbereinigung vor. Wo ist das Problem? Es ist innerhalb von 2min erledigt.
-
Na geht doch

Also ich finde zunächst nichts eindeutiges, aber sehr viele Einträge, die entweder verstellt wurden oder so nicht mehr gültig sind in Firefox. Ich würde dir raten
● Firefox zurückszusetzen (restaurieren/bereinigen)➜ http://mozhelp.dynvpn.de/guide/firefox-bereinigen
Warte bis Firefox ganz von selbst wieder startet. Deine Lesezeichen und Passwörter bleiben dabei erhalten, deine Erweiterungen müsstest du dann aber erneut installieren. Bitte installiere zunächst nichts und teste erst das Verhalten von Firefox und berichte.
-
och menno, im Video wird doch alles genau gezeigt, was ist daran nicht verständlich?
-
Bitte noch einmal und akribisch genau an die Anleitung halten! so ist das nur sehr schwer lesbar
-
Gib uns bitte mehr Infos über deinen Firefox und zwar folgendermaßen:
●☰ ➜ (?) Hilfe ➜ Informationen zur Fehlerbehebung
● jetzt die Schaltfläche "Text in die Zwischenablage kopieren" anklicken
● jetzt den kopierten Text aus der Zwischenablage als </>Code hier ins Forum einfügen. siehe dazu
-
Und gleich auch noch die 2. Identität geblockt
foxtrott_12
https://www.camp-firefox.de##ARTICLE[data-user-id="84489"]
so funktioniert das nicht, deshalb habe ich extra den Eintrag in Inline-Code geschrieben
So muss es wenn dann aussehen.
www.camp-firefox.de##ARTICLE[data-user-id="84489"]
-
Du meinst jetzt durch den Code in uBlock-origin? Dann ja, der blendet alles Posts von ihm aus.
Ansonsten nicht wenn er der Themenersteller ist.
-
Ich stelle Unterschiede fest bei geblockten Nutzern, ohne den Eintrag in eigene Filter bei uBlock-origin (den habe ich wieder entfernt bei mir), nämlich ob der geblockte User Themenstarter ist oder nicht.
Ich habe mal temporär Boersenfeger und schlingo geblockt, sieht hier dann so aus:
-
Einfach die entsprechende user-id bei den eigenen Filtern in uBlock Origin eintragen
Spoiler anzeigen
www.camp-firefox.de##ARTICLE[data-user-id="101264"]
