Hallo edvoldi,
das ist leider auch meine Erfahrung. Ich nutze im TB AboutConfigMultipleSelection.uc.js, inspectElement.uc.js, und TB-AppMenu.uc.js, ein Skript, das mir aborix für die Anpassung des CTR-Menüs im FF gebastelt hat und das ich für TB angepasst habe. Eigentlich wollte ich den UserCSSLoader noch zum Laufen kriegen, aber ich habe nicht rausgekriegt, was ich ändern muss, damit er im TB auf die prefs zugreift. Wenn man die CSS-Skripte bei jedem Start einmal mit dem CSS-Loader lädt, funktioniert er sogar, aber das ist natürlich nicht der Hit.
Beiträge von bege
-
-
Die hier angebotenen Scripte sind fast ausschließlich für Firefox und meistens für
die aktuelle Firefox Version. Einige sind bestimmt abwärtskompatibel aber Garantie
gibt es dafür keine.
Thunderbird wird hier nur in absoluten Ausnahmefällen unterstützt.
Wir kümmern uns hier um Firefox dort muss es laufen.
Das ist schon Arbeit mehr als genug.
Mfg.
EndorDanke für deine Antwort. Das war auch mein bisheriger Eindruck, wollte mich wegen edvoldis Frage aber vergewissern.
-
Hallo,
an dieser Stelle der Diskussion meine Frage, woran ich erkennen kann - außer durch ausprobieren - , welche Skripte in TB, FF-ESR, Waterfox etc. laufen, und welche in FF-Quantum? Ist mein Wissensstand richtig, dass in TB die alten Skripte und Erweiterungen noch einige Zeit eingesetzt werden können? Da ich mich im Moment mit Waterfox ganz wohl fühle, nutze ich in Browser und Mail-Programm noch fast alles wie gehabt.
Gruß
bege -
OpenBookModoki in dieser Version (wenn ich mich richtig erinnere von aborix vor einem Jahr gefixt) läuft bei mir im FF52ESR gut, im FF56 nur noch zum Teil. Die Größe des Popups lässt sich nicht mehr verändern und "Lesezeichen löschen" hat keine Funktion mehr. Kann das jemand bestätigen? Und korrigieren?
Code
Alles anzeigen// ==UserScript== // @name openbookModokiFor4.0.uc.js // @namespace https://addons.mozilla.org/firefox/addon/3885 // @description Edit Bookmark Panelにリサイザ追加すると共に, フォルダツリーとタグセレクタのエキスパンダ開閉状態を記憶する。および 設定によりdescription, location, loadInSidebar, keywordを表示/非表示 // @include main // @author Alice0775 // @version 2013/07/07 02:30 fix onFolderMenuListCommand // @version 2012/12/08 22:30 Bug 788290 Bug 788293 Remove E4X // ==/UserScript== // @version 2012/07/24 14:30 Bug 761723 implement toString of function objects by saving source // @version 2010/12/06 10:30 Bug Bug 597557 - Bookmarks & Identity panels should use an Arrowpanel // @version 2010/04/01 00:00 Bug 556342 - Invalid Treeview in bookmark menu via star pane // @version 2009/12/22 00:00 namePickerにフォ-カスあるように // @version 2009/12/21 14:00 BETTER WORKAROUND FIX Bug 536024 - When i expand folder-tree on Edit This Bookmark, the bookmarked folder is changed. // @version 2009/12/20 16:00 WORKAROUND FIX Bug 536024 - When i expand folder-tree on Edit This Bookmark, the bookmarked folder is changed. // @version 2009/08/11 18:00 Tree Style Tab0.8.2009081101のオブジェクト名変更に対応 // @version 2009/08/07 00:00 Tree Style Tab0.8.2009073102があるとき treestyletab-parent-row'を非表示 // @version 2009/08/06 19:00 Tree Style Tab0.8.2009073102があると一瞬Parent Tabが表示されるのを修正,およびuc.jsに変更した // @version 2009/08/06 18:00 Tree Style Tab 0.8.2009073102に対応 // @version 2009/06/24 00:00 Firefox3.5 フォルダツリーとタグセレクタのエキスパンダ開閉状態を記憶しなくなっていたのを修正 // @version 2009/01/02 02:00 設定によりdescription, location, loadInSidebar, keywordを表示/非表示 // @version 2009/01/01 22:28 var openbookResizer = { drag :false, height: null, width : null, eventOffset: null, timer: null, PREHIDEROW : "userChrome.openbook.hideRow", //description, location, loadInSidebar, keyword PREFTREEHEIGHT: "userChrome.openbook.treeHeight", PREFTREEWIDTH : "userChrome.openbook.treeWidth", PREFOPENTREE: "userChrome.openbook.openTree", PREFOPENTAG : "userChrome.openbook.openTag", get tree(){ return gEditItemOverlay._element('folderTree'); }, get getHideRow(){ try { return gPrefService.getCharPref(this.PREHIDEROW).replace(/\s/g,'').slice(','); } catch(e) { return []; } }, get getPrefTreeHeight(){ try { return gPrefService.getIntPref(this.PREFTREEHEIGHT); } catch(e) { return 150; } }, get getPrefTreeWidth(){ try { return gPrefService.getIntPref(this.PREFTREEWIDTH); } catch(e) { return 250; } }, get editBookmarkPanel(){ return document.getElementById('editBookmarkPanel'); }, get treeExpander(){ return gEditItemOverlay._element('foldersExpander'); }, get tagExpander(){ return gEditItemOverlay._element('tagsSelectorExpander'); }, get getPrefOpenTree(){ try { return gPrefService.getBoolPref(this.PREFOPENTREE); } catch(e) { return false; } }, get getPrefOpenTag(){ try { return gPrefService.getBoolPref(this.PREFOPENTAG); } catch(e) { return false; } }, get isFx35(){ return parseInt(Components.classes["@mozilla.org/xre/app-info;1"] .getService(Components.interfaces.nsIXULAppInfo) .version.substr(0,3) * 10, 10) / 10 > 3.0; }, get isFx37(){ parseInt(Components.classes["@mozilla.org/xre/app-info;1"] .getService(Components.interfaces.nsIXULAppInfo) .version.substr(0,3) * 10, 10) / 10 > 3.6; }, init: function(){ if (!window.StarUI) return; //window.removeEventListener('load', this, false); window.addEventListener('unload', this, false); var style = " \ .openbookResizerGripper { \ list-style-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAApklEQVQokY3QK4uCURCA4QeDLCoIXoIYNFiUFVZBq2JQEEx+UcTmpi1b121eosX/a5lg8jvTzsy8M+8cGGKNusQY44QMlRTgAzOcsUqBitH0FVCWpzeNpmZsytUb4oY9qil6BfRxDaiZp1eO5OBl01u9JX7QxiRFr4XfmNbFZ+gdojbCBbt4a6CDP/wH1McDR9SwwB1b+I4bejG1ER8xxwaluHOJ8RM+9xjk9q2RpwAAAABJRU5ErkJggg=='); \ cursor: sw-resize; \ }"; var sspi = document.createProcessingInstruction( 'xml-stylesheet', 'type="text/css" href="data:text/css,' + encodeURIComponent(style) + '"' ); document.insertBefore(sspi, document.documentElement); sspi.getAttribute = function(name) { return document.documentElement.getAttribute(name); }; this.folderTreeRow = this.isFx35 ? "folderTreeRow" : "folderTree"; this.tagsSelectorRow = this.isFx35 ? "tagsSelectorRow" : "tagsSelector"; // default all show StarUI._doShowEditBookmarkPanel = Task.async(function* (aNode, aAnchorElement, aPosition) { if (this.panel.state != "closed") return; this._blockCommands(); this._element("editBookmarkPanelTitle").value = this._isNewBookmark ? gNavigatorBundle.getString("editBookmarkPanel.pageBookmarkedTitle") : gNavigatorBundle.getString("editBookmarkPanel.editBookmarkTitle"); this._element("editBookmarkPanelDescription").textContent = ""; this._element("editBookmarkPanelBottomButtons").hidden = false; this._element("editBookmarkPanelContent").hidden = false; let bookmarks = PlacesUtils.getBookmarksForURI(gBrowser.currentURI); let forms = gNavigatorBundle.getString("editBookmark.removeBookmarks.label"); let label = PluralForm.get(bookmarks.length, forms).replace("#1", bookmarks.length); this._element("editBookmarkPanelRemoveButton").label = label; this._element("editBookmarkPanelStarIcon").removeAttribute("unstarred"); this._itemId = aNode.itemId; this.beginBatch(); if (aAnchorElement) { let parent = aAnchorElement.parentNode; while (parent) { if (parent.localName == "toolbarbutton") break; parent = parent.parentNode; } if (parent) { this._anchorToolbarButton = parent; parent.setAttribute("open", "true"); } } this.panel.openPopup(aAnchorElement, aPosition); gEditItemOverlay.initPanel({ node: aNode , hiddenRows: openbookResizer.getHideRow , focusedElement: "preferred" }); }); // selected tree visible var func = gEditItemOverlay.toggleFolderTreeVisibility.toString(); func = func.replace( 'var currentFolder = this._getFolderIdFromMenuList();', '' ); func = func.replace( /expander.className = "expander-up";*/, 'var currentFolder = this._getFolderIdFromMenuList(); \ var onselect = this._folderTree.getAttribute("onselect"); \ this._folderTree.removeAttribute("onselect"); \ $&;' ); func = func.replace( 'this._folderTree.focus();', '$&; \ setTimeout(function(tree){ \ var start = new Object(); \ var end = new Object(); \ var numRanges = tree.view.selection.getRangeCount(); \ if (numRanges > 0) { \ tree.view.selection.getRangeAt(0,start,end); \ var v = start.value; \ tree.treeBoxObject.ensureRowIsVisible(v); \ } \ tree.setAttribute("onselect", onselect); \ }, 0, this._folderTree);' ); eval("gEditItemOverlay.toggleFolderTreeVisibility = " + func); // selected tree visible func = gEditItemOverlay.onFolderMenuListCommand.toString(); func = func.replace( 'this._folderTree.selectItems([container]);', '{var onselect = this._folderTree.getAttribute("onselect"); \ this._folderTree.removeAttribute("onselect"); \ $&; \ setTimeout(function(tree){ \ var start = new Object(); \ var end = new Object(); \ var numRanges = tree.view.selection.getRangeCount(); \ if (numRanges > 0) { \ tree.view.selection.getRangeAt(0,start,end); \ var v = start.value; \ tree.treeBoxObject.ensureRowIsVisible(v); \ } \ tree.setAttribute("onselect", onselect); \ }, 0, this._folderTree);}' ); eval("gEditItemOverlay.onFolderMenuListCommand = " + func); this.editBookmarkPanel.addEventListener('popupshowing', this, false); this.editBookmarkPanel.addEventListener('popupshown', this, false); this.editBookmarkPanel.addEventListener('popuphiding', this, false); }, uninit: function(){ window.removeEventListener('unload', this, false); this.editBookmarkPanel.removeEventListener('popupshowing', this, false); this.editBookmarkPanel.removeEventListener('popupshown', this, false); this.editBookmarkPanel.removeEventListener('popuphiding', this, false); }, handleEvent: function(event){ switch(event.type){ case 'unload': this.uninit(); break; case 'popupshowing': this.popupshowing(event); break; case 'popupshown': this.popupshown(event); break; case 'popuphiding': this.popuphiding(event); } }, popuphiding: function(event){ if (this.editBookmarkPanel != event.originalTarget) return; var state = !gEditItemOverlay._element(this.folderTreeRow).collapsed; gPrefService.setBoolPref(this.PREFOPENTREE, state); var state = !gEditItemOverlay._element(this.tagsSelectorRow).collapsed; gPrefService.setBoolPref(this.PREFOPENTAG, state); gEditItemOverlay._element(this.folderTreeRow).collapsed = true; gEditItemOverlay._element(this.tagsSelectorRow).collapsed = true; /* // xxx Bug 556342 - Invalid Treeview in bookmark menu via star pane var tree = document.getElementById("editBMPanel_folderTree"); if (!this.isFx37) var result = tree.getResult(); if (result) { result.root.containerOpen = false; } tree.view = null; // xxx } */ }, popupshowing: function(event){ if (this.editBookmarkPanel != event.originalTarget) return; this.tree.height = this.getPrefTreeHeight; //this.tree.width = this.getPrefTreeWidth; //this.editBookmarkPanel.width = this.getPrefTreeWidth; if (!document.getElementById("openbookResizerbottomBox")) { var panel = document.getElementById("editBookmarkPanel"); var innerarrow = document.getAnonymousElementByAttribute(panel, "class", "panel-inner-arrowcontent"); if (innerarrow) innerarrow.setAttribute('flex', 1); var box = document.createElement("hbox"); box.setAttribute('id', 'openbookResizerbottomBox'); box.setAttribute('align',"start"); var resizer = document.createElement("image"); resizer.setAttribute("class", "openbookResizerGripper"); resizer.setAttribute('onmousedown', 'openbookResizer.mousedown(event)'); box.appendChild(resizer); panel.appendChild(box); panel.setAttribute('onmousemove', 'openbookResizer.mousemove(event)'); panel.setAttribute('onmouseup', 'openbookResizer.mouseup(event)'); if ("TreeStyleTabBookmarksServiceEditable" in window) { with (window) eval('gEditItemOverlay._showHideRows = '+window.gEditItemOverlay._showHideRows.toSource().replace( 'TreeStyleTabBookmarksServiceEditable.parentRow.collapsed = this._element("keywordRow").collapsed && this._element("folderRow").collapsed;', '' ).replace( "TreeStyleTabBookmarksServiceEditable.parentRow.collapsed = this._element('keywordRow').collapsed && this._element('folderRow').collapsed;", '' )); {try {TreeStyleTabBookmarksServiceEditable.parentRow.collapsed = true;} catch(e) {}}; } } if ("TreeStyleTabBookmarksServiceEditable" in window) {try {TreeStyleTabBookmarksServiceEditable.parentRow.collapsed = true;} catch(e) {}}; }, popupshown: function(event){ if (this.editBookmarkPanel != event.originalTarget) return; setTimeout(function(self){ if ("TreeStyleTabBookmarksServiceEditable" in window) {try {TreeStyleTabBookmarksServiceEditable.parentRow.collapsed = true;} catch(e) {}}; if (self.getPrefOpenTree && gEditItemOverlay._element(self.folderTreeRow).collapsed ) { gEditItemOverlay.toggleFolderTreeVisibility(); } if (self.getPrefOpenTag && gEditItemOverlay._element(self.tagsSelectorRow).collapsed ) { gEditItemOverlay.toggleTagsSelector(); } try { gEditItemOverlay._element(gPrefService .getCharPref("browser.bookmarks.editDialog.firstEditField")).focus(); } catch(e) {} }, 100, this); }, mousedown: function(event){ this.drag = true; this.height = parseInt(this.tree.boxObject.height); this.width = parseInt(this.editBookmarkPanel.boxObject.width); this.eventOffset = event; }, mousemove: function(event) { if (this.timer) clearTimeout(this.timer); this.timer = setTimeout(function(event, self){ if (self.drag) { // make sure height [150,screen-300] and width is [300,screen-50] var newValue; newValue = self.height + event.pageY - self.eventOffset.pageY; if (newValue <= screen.height - 300 && newValue >= 150) { self.tree.height = newValue; } newValue = self.width - event.pageX + self.eventOffset.pageX; if (newValue <= screen.width - 50 && newValue >= 300) { //self.tree.width = newValue; self.editBookmarkPanel.width = newValue; } } }, 10, event, this); }, mouseup: function(event) { if (this.drag) { gPrefService.setIntPref(this.PREFTREEHEIGHT, this.tree.height); gPrefService.setIntPref(this.PREFTREEWIDTH, this.editBookmarkPanel.boxObject.width); } this.drag = false; } } //window.addEventListener("load", openbookResizer, false); openbookResizer.init();
-
Ich finde das Skript ViewSourceModoki.uc.js auf der Liste der Skripte, die im FF57 nicht mehr gehen, aber nicht hier im Thema. Es läuft bei mir auch schon im FF52ESR und im FF56 nicht mehr. Bis zum Auswahlfenster geht's, doch dann wird der externe Editor nicht mehr geöffnet. In about:config eingestellt ist er, funktioniert auch für UserCSSLoader.uc.js und für den Kontextmenü-Punkt "Seitenquelltext anzeigen".
Gibt's für das Skript eine Lösung? -
Wir ersetzen RAMBack.uc.xul
Gibt es einen Unterschied zwischen dem "internen Speicher" (RAMBack-Beschreibung) und dem Cache? -
Ich habe bisher CTR in FF 52 ESR benutzt und dort funktioniert das Abschalten der integrierten Pocket-Funktion bei gleichzeitiger Installation der gleichnamigen nicht mehr erhältlichen Erweiterung, mit der man seine Markierungen offline speichern kann. Ich will die Cloud dafür nicht nutzen.
Mit Waterfox 55 funktioniert es leider nicht: Die integrierte Funktion lässt sich nicht abschalten, obwohl die Einstellung "extensions.pocket.enabled" auf false steht, was dazu führt, dass die installierte Erweiterung nicht mehr richtig funktioniert
Kann ich das ändern oder braucht es eine Änderung in CTR? -
bege: dein Beitrag gehört meiner Meinung nach nicht in dieses Thema.Na ja, in diesem Forum kämpfen wir dauernd mit den "Verbesserungen" im FF. Deshalb gehört das schon hierher. Trotzdem danke für deine Einschätzung.
-
Hat sich jemand von euch schon mal den "Waterfox" http://www.waterfoxproject.org angeschaut? Weiterhin Unterstützung aller Erweiterungen und geplant ein eigener Addon-Store. Wenn das was taugt, wäre es eine Alternative dazu, mit FF57+ herumzuschrauben.
-
Zitat von aborix
Ich habe in Tree Style Tab etwas geändert.
Teste die angehängte Version, vorher die Endung .zip in .xpi ändern.
Vielen Dank.
Mit dieser Version funktioniert der Löschbutton.
Jetzt reagiert das bisherige OpenBookModoki auch bei mir so, wie bei dir: Der Löschbutton wird erst bei einem gesetzten Lesezeichen angezeigt, dann aber immer.
Wie kann's jetzt weitergeh'n? -
Der Löschbutton geht leider noch nicht. Die Meldungen bzgl. OpenBookModoki_fix.uc.js sind verschwunden, die bzgl. bookmarksOverlayEditable.js (TreeStyleTabs) bleibt.
Habe mal OpenBookModoki_fix.uc.js deaktiviert. Dann funktioniert der Löschbutton und auch die Meldung bzgl. bookmarksOverlayEditable.js taucht nicht mehr auf. -
Zitat von aborix
Kommen beim Öffnen des Panels oder beim Klick auf den Button JS-Meldungen in der Browserkonsole?
Beim Öffnen des Panels kommen diese Meldungen:CodeTypeError: TreeStyleTabBookmarksServiceEditable.parentRow is null[Weitere Informationen] OpenBookModoki_fix.uc.js:311:7 TypeError: TreeStyleTabBookmarksServiceEditable.parentRow is null[Weitere Informationen] OpenBookModoki_fix.uc.js:319:9 TypeError: this.menulist is null[Weitere Informationen] bookmarksOverlayEditable.js:359:7
bookmarksOverlayEditable.js kommt vom Add-on TreeStyleTabs. Wenn ich TreeStyleTabs deaktiviere, geht der Löschbutton. -
Hallo aborix,
vielen Dank.
Das Skript für die Zeit scheint zu funktionieren, muss ich noch mit mehr Zeit testen.
Der Löschbutton wird jetzt wieder immer angezeigt - nur leider funktioniert er nicht
Das Lesezeichen wird nicht gelöscht. -
Hallo miteinander,
bei mir funktioniert (schon seit einer Weile, nicht erst seit FF 50) OpenBookModoki.uc.js nicht mehr richtig.- Die Schaltfläche "Lesezeichen löschen" erscheint nur beim ersten Aufrufen des Dialogfensters nach einem Start von FF, danach fehlt sie
- Wenn ich nach dem Speichern eines Lesezeichens den Ordner auswählen will (rechter Pfeil, alle Lesezeichenordner anzeigen) schließt sich das Dialogfenster. Um einen Ordner zu wählen, muss ich das Dialogfenster ein zweites Mal öffnen
Kann das jemand bestätigen?
Danke. -
Die Diskussion ist ja schon längst weiter, aber ich möchte mich hier trotzdem noch für das verbesserte WordHighlightToolbar-Skript bedanken, das ich nach einer Reise vorgefunden habe. Vielen Dank an alle Beteiligten. :klasse:
-
-
Sapperlot hat der Kasper früher immer gesagt
Fuzt einwandfrei. Wenn ich so was sehe, bewundere ich immer Menschen wie dich, die Javascript kapieren. Ich bin nach einigen Versuchen, das zu verstehen, mit rauchendem Kopf ausgestiegen.Ist es möglich, dem Attribut 'tooltiptext' zwei Werte zuzuweisen?: date-updated.value + Zeilenschaltung + description.value
Dann bräuchte ich das Update-Datum nicht in der Zeile und könnte noch mehr Platz sparen. -
Das könnte erklären, warum in seltenen Fällen die Tooltips nicht gehen, auch nach dem direkten Aufruf des Managers. Ich vermute, dass, je nachdem zu welchem Zeitpunkt des Seitenaufbaus die CSS-Skripte die Seite verändern, das JS-Skript greift oder nicht. Wirklich schlimm ist das nicht, aber neugierig, wie der Seitenwechsel mit berücksichtigt wird, bin ich schon.
-
Zu Duckduckgo:
In WHT ist ein Eventlistener angesprochen für Autopagerize. Bräuchte es so etwas gesondert für Duckduckgo? Einfacher wäre ja, Autopagerize für die Seite zu nutzen statt die Duckduckgo-eigene Funktion, aber leider spricht Autopagerize weder auf Duckduckgo noch auf Startpage an. -
Das ist super, vielen Dank.