Javascript im neuen Tab öffnen?

  • Hallo zusammen,

    gibt es eine Erweiterung, die es ermöglicht Javascript-Befehle (sagt man das so?), wie beispielsweise javascript:gopost('xyz'), in einem neuen Tab zu öffnen?

  • Hallo,
    mach bitte folgenden Test:

    Gib in die Adresszeile ein:

    about:config?filter=devtools.chrome.enabled

    und drücke die Enter-Taste;
    wenn eine Warnung kommt, bestätige sie;
    wenn die Zeile mit dem Namen devtools.chrome.enabled den Wert false hat, setze ihn per Doppelklick auf true, andernfalls tu nichts auf dieser Seite.
    Dann öffne mit Strg+Umschalt+J die Browser-Konsole und gib in die Eingabezeile unten den folgenden Code ein, gefolgt von der Enter-Taste:


    Teste nun das Öffnen von JS-Links über das Kontextmenü.

  • Teste folgenden Code in der Browserkonsole.

    Falls Firefox seit der Eingabe des letzten Codes nicht neu gestartet wurde, starte ihn neu.
    about:config braucht nicht mehr aufgerufen werden, die Einstellung bleibt erhalten.
    Sonst ist die Vorgangsweise wie oben.

  • Ja, genau so hatte ich mir das vorgestellt. Vielen, vielen Dank!
    Es gibt doch sicher eine Möglichkeit, dass "JS-Link in neuem Tab öffnen" auch nach einem Neustart von Firefox noch vorhanden ist oder?

  • Ja, mit der Erweiterung userChromeJS und einem Skript, das im Wesentlichen aus dem bisherigen Code besteht, machen wir den Menüeintrag dauerhaft.

    Informationen dazu stehen hier:
    https://github.com/ardiman/userCh…aster/README.md
    und hier: https://www.camp-firefox.de/forum/viewtopi…=952099#p952099

    Das Skript:


    Im neuen Tab wird zuerst die Ausgangsseite geladen und erst dann die JS-Funktion im Link ausgeführt.
    Das geht nicht anders, weil die Funktion möglicherweise etwas auf dieser Seite durchführt, z.B. ein Menü öffnen oder zu einem bestimmten Abschnitt springen. Dazu ist es natürlich notwendig, dass die Seite vorhanden ist.
    Ruft die Funktion nur eine andere Seite auf, wie in deinem Beispiel in Beitrag 5, wäre das Laden der Ausgangsseite nicht notwendig, aber das weiß man im vorhinein nicht.

  • Jetzt steht "JS-Link in neuem Tab öffnen" dauerhaft da, vielen Dank dafür! Allerdings wir statt des "ö" ein Kasten mit einem Fragezeichen angezeigt und es öffnet sich nur die Ausgangsseite in einem neuen Tab, sonst passiert nichts.

    EDIT: Das Umlautproblem habe ich dank der Readme-Datei lösen können.

  • Also die Ausgangsseite wird in einem neuen Tab im Hintergrund geöffnet und bleibt dort?
    In dem Beispiel von Beitrag 5 ist das auch so?

    Starte nochmal neu mit Skriptcache-Leeren. Das geht auch, wenn man in die Browserkonsole eingibt:

    Code
    Services.appinfo.invalidateCachesOnRestart();
    Application.restart();
  • Zitat von aborix

    Also die Ausgangsseite wird in einem neuen Tab im Hintergrund geöffnet und bleibt dort?
    In dem Beispiel von Beitrag 5 ist das auch so?


    Ja.

    Leeren des Skriptcaches bringt keine Veränderung.

  • Sehen wir nach, ob es dazu Meldungen in der Browserkonsole gibt.
    Rufe eine Seite zum Testen auf. Dann wechsle zur Browserkonsole. Oben befinden sich fünf Buttons für Meldungskategorien. Schalte die JS-Meldungen ein und die anderen aus. Dann lösche alles Angezeigte mit Klick auf "Leeren". Dann klicke im Hauptfenster auf "JS-Link in neuem Tab öffnen". Stehen nun Meldungen in der Konsole?

  • Auch von mir ein Dankeschön an aborix für das Skript. Hier funktioniert es wunderbar. Randnotiz, vermutlich irrelevant für Krapf: Javascript muss für die jew. Seite natürlich erlaubt sein, damit es funktioniert. Wenn Javascript deaktiviert ist (ist bei mir mittels NoScript standardmäßg der Fall), funktioniert es logischerweise nicht und man hat dasselbe Ergebnis wie er -> Tab wird dupliziert, aber das Klicken des Javascript-Links bleibt ohne Folgen.

    Viele Grüße

    Firefox immer aktuell

  • @ bluemule:

    Danke für's Danke, es freut mich immer, wenn etwas von mir Gebasteltes noch jemand anderer brauchen kann. :)

    @ Krapf:

    Wird bei dir der neue Tab immer unmittelbar rechts neben dem Ausgangstab geöffnet?

    Funktioniert es, wenn du das Skript nicht verwendest und dafür den Code von #12 in die Browserkonsole eingibst?

    Mach bitte auch folgenden Test:
    Füge im Skript nach Zeile 11:

    Zitat


    browser2.addEventListener('load', function onLoad() {


    diese Zeile ein:

    Code
    Application.console.log(content.location.href);


    und zeige mir wieder die Meldungen in der Browserkonsole.

  • Zitat von aborix

    Wird bei dir der neue Tab immer unmittelbar rechts neben dem Ausgangstab geöffnet?


    Ja.


    Zitat von aborix

    Funktioniert es, wenn du das Skript nicht verwendest und dafür den Code von #12 in die Browserkonsole eingibst?


    Nein.


    Zitat von aborix

    Mach bitte auch folgenden Test:
    Füge im Skript nach Zeile 11:


    diese Zeile ein:

    Code
    Application.console.log(content.location.href);


    und zeige mir wieder die Meldungen in der Browserkonsole.


    [attachment=0]Unbenannt.png[/attachment]