Hallo,
was muss man einstellen, um den neuen Tab mit zu nutzen wenn der FF gestartet wird und man mehrere Lesezeichen in Tabs öffnen möchte? Denn bis jetzt ist es so, dass der neue Tab leer bleibt.
Have a nice day
Sven
Hallo,
was muss man einstellen, um den neuen Tab mit zu nutzen wenn der FF gestartet wird und man mehrere Lesezeichen in Tabs öffnen möchte? Denn bis jetzt ist es so, dass der neue Tab leer bleibt.
Have a nice day
Sven
Hallo,
ich glaube, das kann man nicht einstellen.
Aber es geht mit diesem Skript:
Oha.
Da es keinen Danke-Button gibt, muss ich das mal explizit so machen.
-Danke- aborix für diesen Code.
Hab ich nicht korrekt gesucht oder gibt es den Code in der Skriptsammlungen (Endor & ardiman) auf github nicht? Ich war da schon länger dran, habe die Suche aber irgendwann drangegeben.
Besten Dank
Hab ich nicht korrekt gesucht oder gibt es den Code in der Skriptsammlungen (Endor & ardiman) auf github nicht? Ich war da schon länger dran, habe die Suche aber irgendwann drangegeben.
Aborix zaubert solche Dinge öfter mal aus dem Hut...
Wenn er dir wichtig erscheint, kannst du ihn im Unterforum Anpassen, wohin eigentlich auch dieser Thread gehört, mal zur Aufnahme in die GitHub-Sammlung vorschlagen...
Done :wink:
Falls das Skript noch jemand nutzt, es funktioniert nicht mehr ab Fx 62.
Das folgende funktioniert:
(function() {
if (location == 'chrome://browser/content/browser.xul') {
eval('PlacesUIUtils._openTabset = ' + PlacesUIUtils._openTabset.toString()
.replace('replace: false', 'replace: isTabEmpty(browserWindow.gBrowser.selectedTab)')
.replace('getBrowserWindow(aWindow)',
'(aWindow && aWindow.document.documentElement.getAttribute("windowtype") == "navigator:browser") ? aWindow : BrowserWindowTracker.getTopWindow()')
);
};
})();
Mich dünkt das Skript ist mit Version 65 wieder außer Gefecht gesetzt worden. Kann das jmd. der dieses Skript auch benutzt bitte mal checken.
Irgendwo im Forum hab ich das doch kürzlich erst gesehen, ich glaube Zeile 4 ist da verändert, isBlankPage oder so ähnlich statt isTabEmpty.
Danke dir, milupo.
Der Vollständigkeit hier der (bis auf weiteres) funktionierende Code:
(function() {
if (location == 'chrome://browser/content/browser.xul') {
eval('PlacesUIUtils._openTabset = ' + PlacesUIUtils._openTabset.toString()
.replace('replace: false', 'replace: isBlankPageURL(browserWindow.gBrowser.currentURI.spec)')
.replace('getBrowserWindow(aWindow)',
'(aWindow && aWindow.document.documentElement.getAttribute("windowtype") == "navigator:browser") ? aWindow : BrowserWindowTracker.getTopWindow()')
);
};
})();
mit special thanks an aborix
Guten Abend
Im 71'er Firefox funktioniert das obige Skript nicht mehr.
Kann ein Schraubender bitte mal einen Blick darauf werfen und sagen ob es nochmals/wieder zum Leben erweckt werden kann.
Es muss browser.xhtml heißen, nicht browser.xul.
Danke, funktioniert wieder.
Hier der vollständige aktuelle Code:
(function() {
if (location == 'chrome://browser/content/browser.xhtml') {
eval('PlacesUIUtils._openTabset = ' + PlacesUIUtils._openTabset.toString()
.replace('replace: false', 'replace: isBlankPageURL(browserWindow.gBrowser.currentURI.spec)')
.replace('getBrowserWindow(aWindow)',
'(aWindow && aWindow.document.documentElement.getAttribute("windowtype") == "navigator:browser") ? aWindow : BrowserWindowTracker.getTopWindow()')
);
};
})();
2002Andreas : Danke fürs Rüberholen
Stoiker : Danke fürs teilen des Codes
Wieder ein "Feature", das ich mit Freuden eingebaut hab.
Der Code scheint nicht mehr zu funktionieren, könnte jemand nachschauen?
Teste bitte:
(function() {
if (window.__SSi != 'window0')
return;
PlacesUIUtils.openTabset = function openTabset(aItemsToOpen, aEvent, aWindow) {
if (!aItemsToOpen.length)
return;
let browserWindow = aWindow &&
aWindow.document.documentElement.getAttribute("windowtype") == "navigator:browser" ?
aWindow : BrowserWindowTracker.getTopWindow();
var urls = [];
let skipMarking = browserWindow && PrivateBrowsingUtils.isWindowPrivate(browserWindow);
for (let item of aItemsToOpen) {
urls.push(item.uri);
if (skipMarking)
continue;
if (item.isBookmark)
this.markPageAsFollowedBookmark(item.uri);
else
this.markPageAsTyped(item.uri);
}
var where = browserWindow ?
browserWindow.whereToOpenLink(aEvent, false, true) : "window";
if (where == "window") {
let args = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray);
let stringsToLoad = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray);
urls.forEach(url => stringsToLoad.appendElement(PlacesUtils.toISupportsString(url)));
args.appendElement(stringsToLoad);
browserWindow = Services.ww.openWindow(
aWindow,
AppConstants.BROWSER_CHROME_URL,
null,
"chrome,dialog=no,all",
args
);
return;
}
var loadInBackground = (where == "tabshifted");
browserWindow.gBrowser.loadTabs(urls, {
inBackground: loadInBackground,
replace: browserWindow.gBrowser.selectedTab.isEmpty,
triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal(),
});
};
})();
Alles anzeigen
Ich muss mal blöd fragen. Was bewirkt das Skript genau, aus Beitrag #1 werde ich nicht so richtig schlau. Müssen da bestimmte Voraussetzungen existieren? Der TE spricht von einem leeren neuen Tab. Standardmäßig ist der neue Tab nicht leer. Außerdem kommt im Skript mehr das Wort window, also Fenster, vor, als das Wort Tab.
Wenn man mehrere Lesezeichen zugleich in Tabs öffnet, wird dabei der fokussierte Tab nicht überschrieben. Das Skript bewirkt, dass dieser Tab, wenn er leer ist, für das erste der Lesezeichen benutzt wird. Ein Tab gilt in diesem Zusammenhang im Wesentlichen dann als leer, wenn er die Seite about:blank, about:newtab oder about:home enthält. Genauer steht es hier im Quelltext:
Das Skript verändert die Funktion PlacesUIUtils.openTabset, die für das gleichzeitige Öffnen mehrerer Tabs zuständig ist.
Danke, aborix.