Ist hier auch so.
Dat is abba unjeschickt, is wohl nich im Sinne des Erfinders.
Bin lernwillig: gibts dagegen eine Lösung?
Ist hier auch so.
Dat is abba unjeschickt, is wohl nich im Sinne des Erfinders.
Bin lernwillig: gibts dagegen eine Lösung?
Ich hab mir gestern 'nen Wolf gesucht, als ich herausfinden wollte, was openTrustedLinkIn für Patrameter braucht/kennt. Wo fände ich was dazu?
Der erste Treffer ist direkt die Definition:
Die Funktion ruft openUILinkIn auf. Diese Funktion hat eine sehr detaillierte Dokumentation:
Danke, Sören Hentzschel
Hab ich für die Zukunft direkt mal gebookmarked.
Ich hab grade nochmal etwas rumgetestet und folgendes festgestellt:
Wenn ich ein 2. FF-Fenster öffne und dort den Button klicke, werden die Tabs im ersten Fenster geöffnet.
Kann das jemand von Euch mal gegenchecken?
...
Gerade gegengeprüft, yes ist so!
Da ich aber meist nur mit einem Fenster arbeite, stört es mich jetzt nicht so.
Aber wenn es eine korrigierte Version dieses Scriptes geben sollte, ....
Es wäre universeller.
Nachtrag.
openUILinkIn(url, where, params);
"url" ist klar!
"where" habe ich durch Ausprobieren herausgefunden,
die "möglichen Einträge" stehen ja da.
Nur was hat es mit "params" auf sich?
Was soll/kann da angegeben werden?
Sorry, mein Englisch ist in etwa genauso gut wie mein Chinesisch oder Hindu,
bzw. meine Übersetzungstools versagen hier.
Aber wenn es eine korrigierte Version dieses Scriptes geben sollte, ....
Es wäre universeller.
Bitte testen:
(function() {
if (!window.gBrowser){
return;
}
try {
CustomizableUI.createWidget({
id: 'link-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
toolbaritem.onclick = event => onClick(event);
var props = {
id: 'link-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: 'true',
label: 'Quicklink',
accesskey: '',
tooltiptext: 'Quicklink:\nForum - camp-firefox.de',
style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/icons8-rating-circled-48.png") + '");',
};
for (var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
function onClick(event)
{
event.target.ownerGlobal.openTrustedLinkIn('https://www.tagesschau.de/',"tab");
event.target.ownerGlobal.openTrustedLinkIn('https://www.zdf.de/nachrichten/',"tab");
event.target.ownerGlobal.openTrustedLinkIn('https://www.hessenschau.de/',"tab");
event.target.ownerGlobal.openTrustedLinkIn('https://www.hr3.de/',"tab");
}
}) ();
Alles anzeigen
Funktioniert hier einwandfrei.
Links werden dort geöffnet, wo der Button angeklickt wird
Vielen Dank dafür
Funktioniert hier einwandfrei.
Hier auch.
Ich weis, ich bin eine Nervensäge:
In einem neuen Fenster gibts ja ein leeres Tab. Das könnte man verschwinden lassen/mitbenutzen.
ich bin eine Nervensäge
Nö, du möchtest es eben wenn dann gaaaanz perfekt haben
Die Idee ist ja auch nicht schlecht.
Wobei es bei mir kein leerer Tab ist, sondern die eingetragene Startseite vom Firefox.
Aber wenn es eine korrigierte Version dieses Scriptes geben sollte, ....
Es wäre universeller.
Bitte testen:
Wow, ich möchte jetzt nicht übergriffig werden, aber Du bist ein Schatz.
Danke.
Nachtrag.
Ich weis, ich bin eine Nervensäge:
In einem neuen Fenster gibts ja ein leeres Tab. Das könnte man verschwinden lassen/mitbenutzen.
Kommt ganz darauf an, wie ich die zweite Instanz starte.
Wird ein zweites Fenster aus dem Ersten gestartet, öffnet sich nur die Seite, die im zweiten Fenster sich auch öffnen sollte.
Wird ein zweites Fenster durch nochmaliges Starten des Firefox geöffnet, öffnet sich natürlich die Startseite.
In einem neuen Fenster gibts ja ein leeres Tab. Das könnte man verschwinden lassen/mitbenutzen.
Das in dieses Skript einzubauen, halte ich für nicht sonderlich praktikabel. Das Skript öffnet ja erst auf Aufforderung mehrere Seiten/Tabs. Das muss ja nicht sofort nach dem Öffnen eines weiteren Fensters passieren. Es kann also durchaus sein, dass ein "Neuer Tab"-Tab irgendwann willentlich geöffnet wurde. z.B. weil man was auf der Startseite auswählen wollte. Das Skript könnte dann nur irgendeinen/oder alle "Neuer Tab"-Tab(s) schließen, was ich aber irgendwie als "anmaßend" empfinden würde.
Vielleicht fehlt mir auch nur die Phantasie, wie man so was lösen könnte...
Vielleicht fehlt mir auch nur die Phantasie
Also ich brauche es nicht.
Vorstellen könnte ich mir das so.
Ich öffen eine neue Seite.
Dann ist ja der erste Tab der, den man dafür eingestellt hat.
Klicke ich dann auf den neuen Button, dann wird der erste Tab mit dem ersten Link im Skript überschrieben.
Ob das technisch geht bin ich allerdings völlig überfragt.
Ich habe ja erst gedacht "Wat sol'n dat" und wollte nur beim "berechneten Pfad" aushelfen.
Bei der ganzen Rumtesterei wurd mir die Idee aber immer sympathischer.
Neueste Idee:
Linker Mausebutton öffnet die TABs um aktuellen Fenster.
Rechter Mausbutton öffnet ein neues Fenster und die TABs darin.
:blushing: Ich schäm mich aber imer etwas, nachzufragen (wenn ich was gerne hätte, aber nicht kann) weil ich schwer einschätzen kann, ob das auch andere interessieren könnte und wie (un)möglich ne Idee ist.
Danke für Eure Blickwinkel.
Vielleicht so?
function onClick(event)
{
event.target.ownerGlobal.openTrustedLinkIn('https://www.tagesschau.de/',"current");
event.target.ownerGlobal.openTrustedLinkIn('https://www.zdf.de/nachrichten/',"tab");
event.target.ownerGlobal.openTrustedLinkIn('https://www.hessenschau.de/',"tab");
event.target.ownerGlobal.openTrustedLinkIn('https://www.hr3.de/',"tab");
}
dann wird der erste Tab mit dem ersten Link im Skript überschrieben.
Das dürfte dann aber auch nur im neuen Fenster passieren, und nicht wenn ich in meinem Hauptfenster auf das Icon klicke, denn dann würde es mir ja auch meine Startseite/Forum überschreiben.
Aber wie schon gesagt, ich brauche es nicht, da ich nie mit einem weiteren Fenster arbeite.
dann wird der erste Tab mit dem ersten Link im Skript überschrieben.
Das dürfte dann aber auch nur im neuen Fenster passieren, und nicht wenn ich in meinem Hauptfenster auf das Icon klicke, denn dann würde es mir ja auch meine Startseite/Forum überschreiben.
Aber wie schon gesagt, ich brauche es nicht, da ich nie mit einem weiteren Fenster arbeite.
Habe ich auch gerade gemerkt.
Sorry.
Neueste Idee:
Linker Mausebutton öffnet die TABs um aktuellen Fenster.
Rechter Mausbutton öffnet ein neues Fenster und die Buttons darin.
Das halte ich für eine ziemlich gute Idee!
Vielleicht so?
Ändert leider nichts. Der neue Tab bleibt erhalten. Oder wie war das gemeint?
Dann ist ja der erste Tab der, den man dafür eingestellt hat.
Klicke ich dann auf den neuen Button, dann wird der erste Tab mit dem ersten Link im Skript überschrieben.
Hoffe, dass ich es jetzt verstanden habe, wie du das gemeint hast: Es soll immer der erste Tab in einem neuen Fenster überschrieben (oder gelöscht) werden. Das Problem ist nur, dass das Skript ja nicht weiß, was das neue Fenster ist. Es hat ja nicht das Öffnen des Fensters angestoßen, sondern öffnet nur die Tabs. Wenn man nun zum 1. Fenster wechselt, würde er das Überschreiben dort auch durchführen. Das ganze richtig abzufragen, wäre sicherlich ein sehr hoher Aufwand.
Edit: sehe gerade dein Zusatzposting, wo du den gleichen Sachverhalt auch ansprichst!
Ich finde die Idee von harff182 eigentlich am besten...
Ich finde die Idee von harff182 eigentlich am besten..
Würde mir dann auch gefallen
wo du den gleichen Sachverhalt auch ansprichst!
Als Laie würde ich sagen, das funktoniert auch nicht.
Das ganze richtig abzufragen, wäre sicherlich ein sehr hoher Aufwand.
Kann ich nicht beurteilen, aber ich kann suchen und finden :
// Damit der erste TAB nicht leer bleibt bei "Alle in Tabs Öffnen" im Aktuellen Fenster
// milupo/stoiker von hier:
// https://www.camp-firefox.de/forum/thema/125728/?postID=1104225#post1104225
//
(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
Das ganze richtig abzufragen, wäre sicherlich ein sehr hoher Aufwand.
Kann ich nicht beurteilen, aber ich kann suchen und finden :
Das, was du zitiert hast, hatte ich als Antwort auf den Vorschlag von 2002Andreas Andreas geschrieben. Du hast ja ein ganz anderes Vorgehen angeregt, nämlich das wahlweise Öffnen aller Tabs in einem neuen Fenster. Da fallen dann natürlich alle Abfragen weg, um zu entscheiden in welchem Fenster ich bin und welcher Tab zu löschen ist.
Das Skript von aborix macht genau das, was notwendig ist, um mehrere Tabs zu öffnen und dabei einen leeren Tab mitzuverwenden, indem es die dafür zuständige Systemfunktion patched:
Zitat aborix:
Zitat"Das Skript verändert die Funktion PlacesUIUtils.openTabset, die für das gleichzeitige Öffnen mehrerer Tabs zuständig ist."
Ich kannte dieses Skript nicht und habe es auch (noch) nicht getestet, aber mir schwebte ehrlich gesagt eine speziellere und viel simplere Lösung vor, mal schauen.
Aber vielleicht ist es auch besser, wenn sich aborix der Sache annimmt, er ist schließlich der unangefochtene "Skript-Magier". (Zitat Boersenfeger aus dem gleichen Thread: "Aborix zaubert solche Dinge öfter mal aus dem Hut... :D...") .
Ich wüßte zwar nicht, wie ich es umsetzen sollte, hab aber das hier "ins Unreine gedacht":
function onClick(event)
{
event.target.ownerGlobal.openTrustedLinkIn('https://www.antenneduesseldorf.de/service/radioplayer.html?radiochannel=live',"tab");
event.target.ownerGlobal.openTrustedLinkIn('https://www.bundesliga.com/de/2bundesliga/spieltag',"tab");
event.target.ownerGlobal.openTrustedLinkIn('https://www.bundesliga.com/de/2bundesliga/tabelle',"tab");
// if ersterTAB = about:blank
// entferne ersterTAB
// else if ersterTAB = about:newtab
// entferne ersterTAB
// endif
//// also von anderen Inhalten in ersterTAB die Finger lassen...
}
Alles anzeigen
Wäre das schwer umsetzbar?