Wie öffne ich einen Link in einem bestimmten Safari-Fenster in macOS?

Ich habe mehrere Safari-Fenster für die Tab-Organisation. Normalerweise habe ich mehrere Registerkarten in jedem Fenster.

Wenn ich in einer anderen App als Safari auf einen Link klicke, wird der Link in einem neuen Tab in Safari geöffnet, da Safari mein Standardbrowser ist.

Das Problem ist, dass es oft in einem Safari-Fenster geöffnet wird, das derzeit minimiert ist oder das ich derzeit nicht verwende. Der Link wird also nicht in meinem aktiven, aktuellen Hauptfenster geöffnet (im Grunde das, das ich zuletzt verwendet habe). Stattdessen wählt es sein eigenes "Standardfenster" zum Öffnen von Links, das möglicherweise ein Fenster ist, das ich nicht einmal verwende.

Ich möchte jedoch, dass diese Links immer in dem Fenster geöffnet werden, das ich zuletzt verwendet habe, und nicht in einem Fenster, das ich nicht verwende. Ist es möglich, Links immer im letzten aktiven Fenster zu öffnen, das Sie verwendet haben, oder zumindest das "Standard"-Fenster festzulegen, das neue Links öffnet?

Ich verwende derzeit macOS Sierra 10.12.1 mit der mitgelieferten Standard-Safari-Version.

Sie müssen weitere Informationen bereitstellen, damit die Community Ihnen helfen kann. Da Ihre Frage derzeit steht, haben wir keine Ahnung, ob Sie über Safari auf einem iOS-Gerät oder auf einem Mac sprechen. Außerdem, welches Betriebssystem verwendest du? Das heißt, wenn es macOS ist, ist es dann macOS Sierra, El Capitan usw.? Wenn es sich um ein iPhone handelt, verwenden Sie iOS 10, iOS 9 oder etwas anderes? Geben Sie in jedem Fall die genaue Version an. Und wenn es sich um einen Mac handelt, geben Sie auch die genaue Version von Safari an, die Sie ausführen.
Du hast völlig recht, das habe ich alles vergessen. Ich werde die Frage aktualisieren!
Sie sagten " das ist dasjenige, wenn alle anderen Fenster geschlossen sind und sich im Vordergrund befinden ", wollten Sie damit sagen, minimiert, nicht geschlossen ?
@ user3439894 ugh, aktualisierte die Frage erneut, um klarer zu sein.
Ich glaube, die Antwort wird nein sein, es ist nicht möglich, das "Standard" -Fenster festzulegen, das neue Links öffnet, wenn es von einer anderen App initialisiert wird.
@ user3439894 das scheint leider der Fall zu sein. Aber vielleicht kennt jemand eine Optimierung, mit der man etwas dagegen tun kann :)
Ich habe ein paar Fragen. (1) Ist Safari Ihr bevorzugter Browser oder sind Sie diesbezüglich flexibel? (2) Angenommen, Safari ist Ihr bevorzugter Browser, muss es dann auch Ihr Standardbrowser sein? (3) Wenn es eine Möglichkeit gäbe, Safari dazu zu zwingen, einen externen Link (dh einen von einer anderen App) immer in einem neuen Fenster zu öffnen, würde das ausreichen? (4) Muss es eine kostenlose Lösung sein, oder wären Sie bereit, dafür zu bezahlen (vorausgesetzt, die Kosten wären angemessen)?
(1) Ja, persönlich bevorzuge ich Safari (obwohl andere Leute diesbezüglich anderer Meinung sein könnten, weiß ich nicht, ob das die Absicht hinter dem Kopfgeld war; tatsächlich weiß ich nicht, warum ein Kopfgeld vergeben wurde!) (2) Ja , sollte es vorzugsweise der Standardbrowser sein, da ich Links zum Öffnen und meinen Hauptbrowser verwenden möchte. (3) Ja, das scheint in Ordnung zu sein. Die Hauptquelle des Ärgers ist, wenn der Link in einem unbenutzten Tab geöffnet wird. (4) Ja, es sollte auch in Ordnung sein, einen angemessenen Betrag zu zahlen :)
Ich glaube, ich habe eine Lösung. Können Sie uns bitte Schritt für Schritt zeigen, wie wir das aktuelle Verhalten von Safari reproduzieren können? Ich (1) habe drei Safari-Fenster geöffnet, (2) zwei davon minimiert, (3) eine Notiz in Notes.app mit einer anklickbaren URL geöffnet. (4) Safari startete die URL im geöffneten Safari-Fenster. ## Waren alle Anwendungen im selben Bereich?
@oa- Ich glaube, ich habe das Problem vielleicht herausgefunden. Wenn ich den Link von einer Anwendung aus einem anderen Bereich öffne, scheint es, als würde der Link im minimierten Fenster geöffnet. Wenn ich es jedoch aus dem aktuellen Bereich öffne, wird es im Fenster im Vordergrund geöffnet. Habe es mit der Notes-App getestet.
@SkeletonBow: Hallo aus der Zukunft! - Haha. Ich weiß, dass Sie Ihre Frage vor 2½ Jahren gestellt haben, und ich bin gespannt, ob das von Ihnen in Ihrer Frage beschriebene Verhalten immer noch in High Sierra oder Mojave auftritt. Ich verwende Mojave seit Dezember 2018 und mein Eindruck ist, dass ein Link, auf den außerhalb von Safari geklickt wird, immer in dem Safari-Fenster geöffnet wird, das sich im Vordergrund befindet. Ich habe ein Setup mit drei Displays und führe es normalerweise mit aktivierter Einstellung „Displays haben separate Leerzeichen“ (in den Mission Control-Einstellungen) aus, aber ansonsten verwende ich normalerweise keine Leerzeichen.
@jdmc Hey, danke für den Kommentar! Ich habe Safari seit einiger Zeit nicht mehr verwendet (ich verwende Chrome aus verschiedenen Gründen), aber soweit ich mich erinnere, hatte ich dieses Problem immer noch auf Mojave, als ich es benutzte. Ich werde noch ein bisschen testen und sehen, was passiert!
Es scheint mir, dass sie / Safari dieses Verhalten geändert haben und dass es jetzt im zuletzt verwendeten / aktiven Fenster geöffnet wird.

Antworten (3)

Dies kann mit einer AppleScript-App erfolgen, die den Link in Safari öffnet und diese App zum Standardbrowser macht.

Ich habe beim Testen zwei Versionen gefunden: entweder in neuen Fenstern oder in neuen Tabs öffnen, wenn sich bereits ein Fenster im aktuellen Bereich befindet.

  • Öffnen Sie Script Editor.app (oder noch besser Script Debugger)

  • Wenn Sie möchten, dass Links in einem neuen Fenster geöffnet werden , verwenden Sie dies

    on open location theURL    
        tell application "Safari"  
            make new document with properties {URL:theURL}  
            activate  
        end tell  
    end open location  
  • Wenn Sie möchten, dass Links in einem neuen Tab geöffnet werden (wenn im aktuellen Bereich ein Fenster verfügbar ist), verwenden Sie Folgendes:
    on open location theURL  
        tell application "System Events"  
            tell process "Safari"  
                try  
                    set frontWinName to name of window 1 
                on error  
                    my openNewWindow(theURL)  
                    return  
                end try  
            end tell  
        end tell  

        tell application "Safari"  
            try  
                tell (first window whose name is frontWinName and miniaturized is false)  
                    set current tab to make new tab with properties {URL:theURL}  
                    activate  
                end tell  
            on error  
                my openNewWindow(theURL)  
            end try  
        end tell  
    end open location  


    on openNewWindow(theURL)  
        tell application "Safari"  
            make new document with properties {URL:theURL}  
            activate  
        end tell  
    end openNewWindow  
  • Als App speichern

  • Wenn Sie nicht möchten, dass die App im Dock angezeigt wird

    • Klicken Sie mit der rechten Maustaste auf die App, gehen Sie in das Paket und suchen SieInfo.plist

    • Fügen Sie dies hinzuInfo.plist

        <key>LSUIElement</key>  
        <true/>
    
  • Legen Sie die App als Standardbrowser fest (ich habe RCDefaultApp verwendet).

Wenn Sie sehen möchten, wie nervig das standardmäßige Verbindungsverhalten von macOS ist, schlage ich vor, nach einigen Stunden wieder auf Safari als Standardbrowser umzuschalten ...

Ich bin immer noch am 10.14.6 und kenne mögliche Einschränkungen in Catalina nicht.

Das funktioniert! Und es ist die einzige Lösung, die ich irgendwo im Internet gesehen habe. Um den Standardbrowser festzulegen, habe ich SwiftDefaultApps ( github.com/Lord-Kamina/SwiftDefaultApps/releases/tag/v2.0.1 ) verwendet, da RCDefaultApp nicht mit Catalina funktioniert. Ich habe die Info.plist nicht bearbeitet und die App wurde nicht angezeigt im Dock unabhängig.
Beachten Sie, dass dies in neueren Versionen von macOS auch Automatisierungsberechtigungen in System Preferences/Settings > Security & Privacy. Ich konnte das nicht auslösen, ohne eine Kombination aus Bearbeiten des Skripts zum Aufrufen von Systemereignissen beim Start (zum Testen), Neugenerieren der App über den Skripteditor Export > Appund manuelles Starten und manuelles Starten der App, um dies auszulösen . Ein systematischerer Ansatz, um die richtigen Berechtigungen zu erhalten, wäre ein willkommenes Update für diese Lösung.

Als Entwickler habe ich die Möglichkeit untersucht, dass Erweiterungen das erreichen können, was Sie wollen, indem immer ein neues Fenster geöffnet wird, wenn Sie auf einen Link klicken, der außerhalb von Safari selbst enthalten ist. Es tut mir leid zu sagen, dass ich nicht glaube, dass dieser Ansatz möglich sein wird.

Leider bietet Safari Erweiterungen keine Möglichkeit, den Ursprung eines neuen Tabs/Fensters zu bestimmen. Was ich damit meine, ist, dass ein neuer Tab erstellt werden kann, weil der Benutzer auf einen Link in einer E-Mail klickt, mit der Befehlstaste auf einen Link in Safari klickt, ein Safari-Lesezeichen öffnet, während er die Befehlstaste gedrückt hält, auf einen Link in einem PDF-Dokument klickt oder irgendetwas anderes eine von mehreren anderen Aktionen, die eine Seite in einem neuen Tab öffnen. Unabhängig von der Methode stellt Safari einer Safari-Erweiterung nicht bereit , wie das Fenster geöffnet wurde.

Da alle diese Ereignisse gleich aussehen, kann keine Erweiterung Links von außerhalb von Safari dazu zwingen, sich in neuen Fenstern zu öffnen, ohne auch Links zu beeinflussen, die auf andere Weise geöffnet werden (einschließlich beim Surfen in Safari).

Obwohl es nicht nativ in Ihrem gewünschten Fenster geöffnet wird, können Sie jederzeit die Registerkarte greifen und sie direkt nach dem Öffnen in einem anderen Safari-Fenster neu positionieren.

Keine Ahnung, ob das hilft oder nicht, nur ein Vorschlag.

Danke für die Antwort! Die einzige Sache ist, ich suche nach einer Option, die dies von vornherein vermeidet :)