Abrir URL en la nueva ventana de Chrome

6

Decido abrir una url en una nueva ventana con el comando:

$ open -na 'Google Chrome' 'https://www.etymonline.com/'

Se abrió una nueva ventana en blanco.

    
pregunta JawSaw 17.01.2018 - 04:42

2 respuestas

6

Debe utilizar la opción --args , por ejemplo:

open -na 'Google Chrome' --args --new-window 'https://www.etymonline.com/'

Desde la página del manual para open comando :

  

--args
  Todos los argumentos restantes se pasan a la aplicación abierta en el parámetro argv a main ().            La herramienta abrir no abre ni interpreta estos argumentos.

Para más Google Chrome modificadores de la línea de comando que podrían agregarse a la opción --args del comando open , consulte la siguiente URL .

De: Lista de interruptores de línea de comandos de Chromium

  

Hay muchas líneas de comando que se pueden usar con el navegador Google Chrome. Algunos cambian el comportamiento de las características, otros son para depurar o experimentar. Esta página enumera los interruptores disponibles, incluidas sus condiciones y descripciones.

Otro enfoque sería utilizar AppleScript desde la línea de comando , por ejemplo:

osascript -e 'tell application "Google Chrome" to set URL of active tab of (make new window) to "https://www.etymonline.com/"'

Para facilitar su uso, puede envolver esto en una función y colocarlo en su archivo ~/.bash_profile o ~/.profile , por ejemplo:

openurl () 
{ 
    if [ -n "$1" ]; then
        osascript -e "tell application \"Google Chrome\" to set URL of active tab of (make new window) to  \"$1\""
    else
        printf "\n  Missing URL...\n\n    Syntax: openurl 'URL'\n\n    Example: openurl 'http://www.google.com'\n\n"
    fi
}

Luego, en Terminal , simplemente usa lo siguiente, por ejemplo:

openurl 'https://www.etymonline.com/'

Si ejecuta openurl sin un argumento , obtendrá el siguiente resultado:

$ openurl

  Missing URL...

    Syntax: openurl 'URL'

    Example: openurl 'http://www.google.com'

$

Nota: La URL se muestra entre comillas simples y esto para garantizar que no se produzca ninguna expansión cuando la URL se pasa a la función si tiene alguna shell caracteres especiales en ella. Las comillas simples se pueden omitir para las URL básicas / simples.

Este mismo enfoque también se puede aplicar al comando open . Dicho esto, la razón por la que elegiría envolver el AppleScript en una función es en algún momento el comando open utilizado de esta manera con Google Chrome puede fallar. Esto se debe a que cuando Google Chrome ya está abierto, se abre una segunda instancia , que luego se pasa a la primera instancia y la segunda instancia terminó. Este comportamiento puede volverse problemático, ya que Goggle Chrome se actualiza, mientras que AppleScript en una función no lo hará, ya que solo está hablando con el primer instancia de Google Chrome .

    
respondido por el user3439894 17.01.2018 - 05:22
1

Las respuestas anteriores funcionan desde la línea de comandos, pero si desea que Chrome abra cosas en una nueva ventana en todas partes de forma predeterminada (y no solo desde la línea de comandos), debe cambiar los controladores de archivos http / https a un script que hace lo que tu quieras

Con un controlador predeterminado configurado para abrir una nueva ventana, funcionará desde la línea de comandos o al hacer clic en un enlace en Correo o similar, y por lo tanto se integrará mucho mejor con Spaces ya que obtendrá una nueva ventana en el espacio actual con el enlace deseado, en lugar de una nueva pestaña en algún otro espacio que tenga que buscar.

Específicamente necesitas una secuencia de comandos como esta:

on open location theURL
    tell application "/Applications/Google Chrome.app"
        make new window
        activate
        set URL of active tab of first window to theURL
    end tell
end open location

Luego guardas eso de ScriptEditor como una aplicación, lo ejecutas para registrarlo con LaunchServices y editas el archivo ~ / Library / Preferences / com.apple.LaunchServices / com.apple.launchservices.secure.plist para tener tu aplicación como predeterminado para http / https.

Puede encontrar una solución integrada con el script como una aplicación y (en un comentario actual) un script de edición PList para indicar al sistema que use su aplicación aquí:

enlace

Inspiración de enlace y enlace

    
respondido por el Mike Hardy 30.07.2018 - 23:33

Lea otras preguntas en las etiquetas