Beiträge von milupo
-
-
Hier ist der Code:
JavaScript
Alles anzeigen// ==UserScript== // @name newtabfromhistory.uc.js // @namespace https://www.camp-firefox.de/forum/viewtopic.php?p=1090093#p1090093 // @description Links aus Chronik in neuem Tab öffnen // @author aborix // @compatibility 95+ // @version 0.0.3a // ==/UserScript== (function() { if (location != 'chrome://browser/content/browser.xhtml') return; PlacesUIUtils.openNodeWithEvent = function PUIU_openNodeWithEvent(aNode, aEvent) { let window = aEvent.target.ownerGlobal; let browserWindow = (window && window.document.documentElement.getAttribute('windowtype') == 'navigator:browser') ? window : BrowserWindowTracker.getTopWindow(); let where = window.BrowserUtils.whereToOpenLink(aEvent, false, true); if (this.loadBookmarksInTabs) { if (where == 'current' && !aNode.uri.startsWith('javascript:')) { where = 'tab'; } if (where == 'tab' && browserWindow.gBrowser.selectedTab.isEmpty) { where = 'current'; } } this._openNodeIn(aNode, where, window); } let onPopupshowing = function() { let historyMenu = document.getElementById('history-menu'); if (!historyMenu._placesView) { new HistoryMenu(event); historyMenu._placesView._onCommand = function HM__onCommand(aEvent) { let placesNode = aEvent.target._placesNode; if (placesNode) { PlacesUIUtils.openNodeWithEvent(placesNode, aEvent); }; }; }; }; let historyPopup = document.getElementById('historyMenuPopup'); historyPopup.setAttribute('onpopupshowing', '(' + onPopupshowing.toString() + ')()'); })();Ah, hat sich mit Endor überschnitten. Aber sein Link ist der Link auf seine Seite, der ist auch sehr nützlich.
-
Die Chronik dort hatte ich nie getestet, bzw. ist der Button bei mir auch ausgeblendet.
Ich habe das Skript auch nur zum Test für einen anderen Nutzer abgespeichert.
-
Die nutze ich auch.
Ja natürlich, aber irgendwie haben wir da streckenweise aneinander vorbei geschrieben. Aber jetzt ist alles klar. Das Nightly-Problem können wir erst einmal vertagen, wichtiger ist, dass thomas7 noch einmal vorbeischaut und mit dem Skript von Endor in Fx 127 testet.
-
127 und 128
Ei, Andreas, ich habe noch nicht geistig umgeschaltet: Als du von 128 geschrieben hattest, tauchte das Wort Nightly vor meinem geistigen Auge auf, das Nightly hat aber schon Version 129. Die 128er Beta habe ich gar nicht getestet. Danke Endor

-
Ich habe mal in die Browser-Konsole gesehen, da erscheint lediglich diese Warnung:
Warning: attempting to write 5987 bytes to preference browser.uiCustomization.state. This is bad for general performance and memory usage. Such an amount of data should rather be written to an external file.
Aber die erscheint sicherlich bei euch auch.
-
Dann muss dir doch etwas anderes dazwischen funken

Du hättest recht, wenn ich das Problem nur in meinem produktiven Profil hätte. Aber ich habe es auch mit dem frisch angelegten Nightly-Profil. Da gibt es nur die erforderliche userChrome.js und dieses Skript, keine Add-ons, kein CSS.
-
Das ist irgendwie hundsgemein, weil im Nightly gar nichts passiert, die Einträge werden offenbar gar nicht erst geladen. Nur aus dem Ordner Kürzlich geschlossene Tab ist das kein Problem.
-
So, jetzt habe ich mir die Version von Endor geholt. In Fx 127 läuft es jetzt, auch im neu angelegten Profil. Mal sehen, wie es damit im Nightly aussieht.
So, im Nightly tut sich immer noch nichts.

-
Meinst du mich?
Ja, ich war der Meinung, dass du Betrag #62 geschrieben hast, denn ich hatte dich ja um deine Version gebeten.
Klappt trotz Änderung der Zeile if (location != 'chrome://browser/content/browser.xhtml') und der Zeile let historyPopup = document.getElementById('historyMenuPopup'); immer noch nicht, weder in Fx 127 noch im Nightly. Ich habe jetzt erst richtig wahrgenommen, dass im Nightly gar nichts gemacht wird, in Fx 127 wird wenigstens im gleichen Tab geladen.
-
Ich glaube, ich habe den Unterschied gefunden. Bei mir steht der vorletzten Textzeile goPopup als Wert für let historyPopup, bei dir historyMenuPopup. Ich werde es jetzt testen.
-
browser.tabs.loadBookmarksInTabs auf true, ja, sowohl in Fx 127 als auch im Nightly. Obwohl ich den Eintrag nur auf die Lesezeichen bezogen hätte, nicht auf die Chronik.
Stelle mal deine Skript-Version hier ein, die du schon immer verwendest. Vielleicht gibt es doch einen, wenn auch minimalen, Unterschied.
-
Fein. Das ist allerdings kein CSS-Code, wie gesagt automatische Erkennung hätte ausgereicht. Leider habe ich nicht recht mit meiner Vermutung. Der User-Agent in Zeile 9 ist nicht verstellt sprich anonymisiert. Oder hast du für 126.01 ein anderes Profil verwendet?
-
Es bleibt dabei, in der Liste des Menüs Chronik klappt es nicht. Ich habe ein neues Profil für 127 angelegt. Dort ist kein weiteres Skript enthalten und auch kein CSS.
-
Auch von dort wird mit dem Skript ein neuer Tab geöffnet.
Bei mir nicht. Nur oben aus den Ordnern Kürzlich geschlossene Tabs bzw. Kürzlich geschlossene Fenster klappt das.
-
Was steht in Notepad++ in der Statuszeile unten ganz links? Da muss JavaScript file stehen und was steht in der Statuszeile rechts für eine Zeichenkodierung? Dort muss UTF-8 stehen.
-
Üblicherweise wird dieser im Notepad++ sofort in Farbe angezeigt. Bei mir, im Gegensatz zu anderen *.js nur in SchwarzWeiß.
Da wird nicht nur Schwarz-Weiß angezeigt. Schlüsselwörter sind dunkelblau, Textstrings grau und Code-Text schwarz. Die Kommentarzeile oben ist bei mir grün.
Ich habe da einen Verdacht – wie hast du die Skriptdateien angelegt? Die Dateien müssen die Endung .uc.js haben, manchmal fügt Windows die Endung .txt an. Die funktionieren natürlich nicht in Firefox als Skripte.
-
Du schreibst oben zum ersten Mal, dass du mit zwei verschiedenen Rechnern arbeitest. Das bedeutet auch, du hast zwei unterschiedliche Profile und zwei unterschiedliche Installationsverzeichnisse. Für beide müssen die Voraussetzungen geschaffen sein, damit Benutzerskripte funktionieren. Zumindest einmal konnten sie nicht funktionieren, da du in der userChrome.js nur den Originaltext drin hattest, der vollständig auskommentiert ist und somit keine Skripte funktionieren konnten. Das musst du für deinen zweiten Rechner ebenfalls kontrollieren. Dann können natürlich Skripte selbst irgendwann nicht mehr funktionieren, weil etwas geändert werden muss. Wie beim Chrinbik-Skript, wo diese eine Zeile zu ändern war. Das muss natürlich dann auch auf dem zweiten Rechner geändert werden. Dann musst du natürlich auf dem zweiten Rechner auch Fx 127 haben, wenn du auf dem einen noch Fx 126 hast, ist natürlcih klar, dass Skripte, die unter Fx 127 dann nicht mehr funktionieren, dort noch funktionieren.
nicht aber das Skript chronik.
Und das ist auch die Version von Andreas oben?
-
Milupo: habe das so gemacht steht nur automatische Erkennung.
Daneben ist ist eine kleine Pfeilspitze. Wenn du darauf klickst, kannst du mehrere Syntaxhervorhebungen auswählen, z. B. CSS, JavaScript und JSON. Dann wird der Code entsprechend farblich eingefärbt und strukturiert. Für about:support reicht automatische Erkennung. Du hast ja schon im vorstehenden Beitrag einen Kasten eingefügt, aber statt des Inhalts von about:support normalen Text eingefügt. Normaler Text wird nicht in einen Code-Kasten eingefügt, sondern direkt ins Antwortfenster geschrieben.
-
Nein, hatte ich nicht. Habe ich jetzt nach dem langen Originalhinweistext unten eingefügt > Neustart > Uhr wird oben aber nicht angezeigt.
Der originale Hinweistext ist erstens ellenlang und umfasst Funktionen, die wir nicht brauchen, und außerdem sind alle Zeilen auskommentiert, sodass natürlich nichts funktioniert. Die Zeilen 2 und 3 sind auch im Originalhinweistext enthalten, sind da aber wie gesagt auskommentiert. Du kannst den ganzen Originalhinweistext löschen und nur den Text aus Beitrag #37 in die userChrome.js einfügen. Mir ist allerdings rätselhaft, dass du die falsche userChrome.js hast, haben doch deine Skripte vorher funktioniert. Also musst du doch irgendetwas geändert haben.