Er meint ja auch du sollst sie mal auskommentieren.
Also vorweg /*....und am Ende */ setzen.
Alternativ vor jede Zeile gingen auch //
Damit werden die Befehle deaktiviert.
Siehe bitte dazu mal hier:
Er meint ja auch du sollst sie mal auskommentieren.
Also vorweg /*....und am Ende */ setzen.
Alternativ vor jede Zeile gingen auch //
Damit werden die Befehle deaktiviert.
Siehe bitte dazu mal hier:
Andreas danke werde mich da mal ein lesen.
Edit:
Vor beiden Zeilen // und es funktioniert wieder.
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:
Hallo miteinander,
bei mir funktioniert (schon seit einer Weile, nicht erst seit FF 50) OpenBookModoki.uc.js nicht mehr richtig.
Kann das jemand bestätigen?
Danke.
zu 1.:
Bei mir fehlt der Button "Lesezeichen entfernen", wenn eines angelegt wird. Ist es bereits vorhanden, ist der Button da. Das ist also anders, als von dir beschrieben, aber auch nicht richtig, denn der Button muss immer da sein.
Teste das folgende geänderte Skript. Bei mir ist damit der Button immer vorhanden.
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;",
''
));
TreeStyleTabBookmarksServiceEditable.parentRow.collapsed = true;
}
}
if ("TreeStyleTabBookmarksServiceEditable" in window)
TreeStyleTabBookmarksServiceEditable.parentRow.collapsed = true;
},
popupshown: function(event){
if (this.editBookmarkPanel != event.originalTarget)
return;
setTimeout(function(self){
if ("TreeStyleTabBookmarksServiceEditable" in window)
TreeStyleTabBookmarksServiceEditable.parentRow.collapsed = true;
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();
Alles anzeigen
zu 2.:
Seit Fx 47 wird beim Anlegen eines Lesezeichens das Panel geöffnet und dann automatisch geschlossen, wenn man darin 3,5 Sekunden nichts oder nichts mehr tut.
Siehe dazu auch https://www.camp-firefox.de/forum/viewtopic.php?f=1&t=118195
Mit folgendem Skript kann man die Zeitdauer verändern, sie wird in Zeile 4 in Sekunden eingetragen:
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.
Kommen beim Öffnen des Panels oder beim Klick auf den Button JS-Meldungen in der Browserkonsole?
Zitat von aborixKommen beim Öffnen des Panels oder beim Klick auf den Button JS-Meldungen in der Browserkonsole?
Beim Öffnen des Panels kommen diese Meldungen:
TypeError: 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.
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.
Ich habe in Tree Style Tab etwas geändert.
Teste die angehängte Version, vorher die Endung .zip in .xpi ändern.
Zitat von aborixIch 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?
Hallo,
hat von euch einer eine Idee, warum Load URL In New Tab (Klick mich) nicht mehr funktioniert? Ich meine, dass es mit Fx 49 noch Eingaben in der Adressleiste in einem neuen Tab öffnete.
Test habe ich bereits (erfolglos) mit anderem Profil durchgeführt.
Abend geschätzter Kamerad.
Richtig beobachtet. Vor 50 war noch alles gut, ab 50 alles wieder für n Arsch, weil Mozilla an den Urlbar- Innereien wohl geschraubt hat :?
Leider betrifft das jetzt alle Scripte aus unserer Sammlung, die sich mit dem Thema "neuer Tab aus der Adressbar" beschäftigen :roll:
Ich habe hier mal ein Schnipsel abgegriffen, welches zumindest laut japanischer Beschreibung genau dieses "Fehlverhalten" der Adressbar wieder korrigieren soll. Bin aber leider noch nicht dazu gekommen, es selbst auf Funktionalität zu prüfen.
1:1 Übersetzung:
ZitatÖffnen Sie in einem neuen Tab aus der URL-Leiste in FX50 oder später funktioniert nicht Fix
Und der Javascriptcode dazu:
if (location == 'chrome://browser/content/browser.xul') {
if (typeof gURLBar.handleCommand !== 'undefined') {
let str = gURLBar.handleCommand.toString();
str = str.replace('&& !isTabEmpty', '|| isTabEmpty');
str = str.replace('where = altEnter', 'where = !altEnter');
(new Function('gURLBar.handleCommand = ' + str)());
}
}
}());
Alles anzeigen
AutoPopup funktioniert in Fx 52 bei mir nicht ganz: beim Mouseover auf den kleinen Pfeil rechts in der Adressleiste öffnet sich das Menü nicht.
Kann das jemand bestätigen?
Ja kann ich bestätigen.
Mfg.
Endor
Danke.
Damit funktioniert es wieder:
Die Zeilen 219 - 223:
Zitat
if (overElt.localName == 'dropmarker')
PopElt.showPopup();
else if (overElt.localName == 'menulist')
overElt.open = true;
else if (IsNewMenuBtn(overElt)) {
werden ersetzt durch
Ja funktioniert wieder bestens.
Vielen Dank.
PS. Soll ich die beiden Updates an Mitrandir weiter geben,
also obiges und das hier:
https://www.camp-firefox.de/forum/viewtopi…031227#p1031227?
Mfg.
Endor