0 votos

No se puede usar "abrir ubicación" cuando es parte de un scriptmás largo

El siguiente script funciona bien para abrir una URL en mi navegador por defecto:

open location "https://google.com"

Sin embargo, tengo un script existente para coger una URL de mi ventana de Terminal para abrirla en mi navegador. Cuando utilizo este script, obtengo el error "Se esperaba el final de la línea pero se encontró el identificador" y la variable para mi URL fue resaltada:

use framework "Foundation"

tell application "Terminal"
    set windowContents to the contents of the front window
end tell
set windowContents to current application's class "NSString"'s stringWithString:windowContents
set fidoRegexPattern to "<PATTERN>"
set fidoRegex to current application's class "NSRegularExpression"'s regularExpressionWithPattern:(fidoRegexPattern) options:(0) |error|:(missing value)
set matchRanges to (fidoRegex's matchesInString:(windowContents) options:(0) range:({0, windowContents's |length|()}))'s valueForKey:("range")

set urlStrings to current application's class "NSMutableArray"'s new()
repeat with thisRange in matchRanges
    tell urlStrings to addObject:(windowContents's substringWithRange:(thisRange))
end repeat
-- return urlStrings as list
set urlList to urlStrings as list
set fidoUrl to the last item of urlList
open location fidoUrl
return fidoUrl

Incluso si trato de cambiar fidoUrl para una cadena literal de URL, obtendré el mismo error, excepto que dirá que encontró " en lugar de final de línea.

Todo lo demás del script se ve bien. Si quito el open location línea y mira el return resultados de la línea, me da la URL que espero.

Buscando en Google parece indicar que podría obtener este error si hay un problema con el propio script, pero no veo nada.

1voto

wch1zpink Puntos 11

Cada vez que se añade un use statement a un script, scripting additions ya no se añade por defecto. Es necesario volver a añadirlo.

Añade lo siguiente después de use framework "Foundation"

 use scripting additions

Si por alguna razón no quiere scripting additions disponibles en todo su script, esta opción siguiente también funcionará.

using terms from scripting additions
    open location "https://google.com"
end using terms from

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X