Come fare in modo che Chrome apra una nuova finestra per i link esterni


10

Come alcune persone potrebbero sapere, il comportamento predefinito per i collegamenti esterni di Google Chrome è piuttosto negativo. Sto usando Spaces e sto aprendo un collegamento in qualche applicazione al di fuori di Google Chrome mentre mi trovo in uno spazio diverso rispetto all'ultima finestra di Chrome utilizzata, il risultato è che Chrome passa all'ultima finestra focalizzata.

Questo comportamento è semplicemente negativo.

Voglio cambiare questo comportamento. Su Windows, questo è possibile: come puoi configurare Chrome per aprire nuove istanze del browser in nuove finestre anziché in una scheda?

Purtroppo, non credo sia possibile su OS X Snow Leopard.

Sto già utilizzando uno strumento chiamato RCDefaultApps. Questo è un pannello di controllo del sistema in cui posso specificare applicazioni predefinite per protocolli diversi. Manca solo la funzione per specificare ulteriori argomenti della riga di comando per l'applicazione predefinita.

Qualcuno può aiutarmi lì? Tutti gli hack (a parte la creazione di una build Chromium personalizzata) sono accettabili.

Risposte:


9

Puoi provare a utilizzare AppleScript trovato in questa pagina .

L'ho appena provato e funziona perfettamente in Chrome 12.0.742.122.

È estremamente facile da configurare:

  • scarica l' archivio Bundle
  • fai doppio clic per decomprimerlo
  • fare doppio clic su OpenUrlInNewChromeWindow
  • apri Safari e imposta il nuovo "Browser" come browser predefinito nelle Preferenze.

nuovo browser predefinito


Questo sembra introdurre un ritardo (molto breve) prima di aprire la finestra, ma è esattamente quello che stavo cercando. Grazie!
jsadfeew,

Questo script di mele funziona meravigliosamente.
Nelson,

3

Partendo dalla risposta di Dave, ho scoperto che con Chrome 45 l'esecuzione osascriptnon è più necessaria e che con OS X 10.10 lo script Apple non è selezionabile nelle preferenze di sistema. Ecco come l'ho risolto.

Crea uno script Apple usando l'editor Apple Script ed esportalo come un'applicazione.

on open location theURL
   do shell script "/usr/bin/open '/Applications/Google Chrome.app' --new --args --new-window " & theURL
end open location

Installa l' app predefinita RC .

RCDefaultApp è un riquadro delle preferenze di Mac OS X 10.2 o versione successiva che consente all'utente di impostare l'applicazione predefinita utilizzata per vari schemi URL, estensioni di file, tipi di file, tipi MIME e identificatori di tipo uniforme

Nelle preferenze di sistema, apri la nuova schermata delle app predefinite, vai alla scheda URL e imposta lo script Apple esportato come gestore per http e https .


Grazie mille. Questa è l'unica soluzione che ha funzionato per me, mi ha fatto impazzire per anni.
Luke Dubert,

2

Non sono stato in grado di farlo funzionare anche io.

Quello che stavo cercando di fare era usare il seguente comando:

open Google\ Chrome.app/ --new --args new-window www.google.com

Ma questo apre un nuovo Chrome che si chiude immediatamente (se Chrome è già aperto). Stavo pensando di racchiudere il comando sopra in uno script bash e quindi lasciare che avesse argomenti (per l'URL).

Ma dal momento che il comando sopra non è riuscito a funzionare, sto ancora pensando a questo. Finora credo che non sia "possibile" senza alcune modifiche a Chromium, ma potrei trascurare qualcosa. È presto e non ho ancora preso il caffè. ;)


Sì, ci ho provato anche io. (con " google.com " anziché "Google Chrome.app") Entrambe le versioni non funzionano.
jsadfeew,

2

Questo funziona su Mavericks:

open /Applications/Google\ Chrome.app --new --args --new-window https\://www.google.ca

seguito da:

osascript -e 'activate application "Google Chrome"'

Testato in sh, bash e zsh.

Per qualche motivo, se provo a metterli sulla stessa linea in questo modo:

/usr/bin/open /Applications/Google\ Chrome.app --new --args --new-window www.google.ca; /usr/bin/osascript -e 'activate application "Google Chrome"'

... la seconda parte non viene completata. Presumo che sia perché è troppo vicino al primo comando. Quindi prova questo:

/usr/bin/open /Applications/Google\ Chrome.app --new --args --new-window www.google.ca; sleep 1; /usr/bin/osascript -e 'activate application "Google Chrome"'

Nota che non è necessario specificare la parte http: // dell'URL alla fine perché funzioni, ma se lo fai, devi scappare dai due punti (:).

Per rendere questo script il mio browser predefinito, ho creato uno script apple ed esportato come applicazione, quindi ho aperto Safari Preferenze e impostato l'applicazione come browser predefinito. Ecco il codice di Apple:

on open location theURL
  do shell script "/Users/[myusername]/bin/openUrlInNewChromeWindow.sh " & theURL
end open location

Sostituisci [myusername] con il tuo vero nome utente.


La ragione per cui preferisco questa soluzione a quella di mwidmann è che questa si chiuderà dopo aver aperto l'URL, mentre l'altra sembra aver bisogno di rimanere aperta per funzionare. Ciò significava che OpenUrlInNewChromeWindow era sempre nell'elenco CMD-Tab delle app in esecuzione e, ogni volta che aprivo un URL, dovevo fare una linguetta due volte per tornare all'app precedente.
Dave,

Posso confermare che l'uso di RCDefaultApp per Michael Schmid funziona anche su OSX El Capitan (10.11.1).
Dave,

-1

L'opzione --new-window ha funzionato per me. ("C: \ Programmi (x86) \ Google \ Chrome \ Application \ chrome.exe" --new-window https://www.google.com )


2
Questo è per Windows - modifica per fare riferimento a OS X.
GRG
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.