El siguiente ejemplo de AppleScript código hará lo que solicitaste:
set the clipboard to "questions/392514/i-want-to-write-a-script-to-open-a-fixed-url-whats-in-the-clipboard-ex-open"
set myURL to "https://apple.stackexchange.com/" & (the clipboard)
tell application "Safari" to ¬
tell its first window to ¬
set its current tab to ¬
(make new tab with properties {URL:myURL})
Si ejecutas el ejemplo de AppleScript código, tal como está, se abrirá en tu pregunta.
La primera línea de código es solo para propósitos de prueba al igual que la parte "https://apple.stackexchange.com/"
de myURL
. Cámbialo por lo que desees y comenta o elimina la primera línea para usarlo normalmente.
Para incorporar algo más robusto que tenga en cuenta el estado actual de Safari, el siguiente ejemplo de AppleScript código maneja los diferentes escenarios típicos:
set the clipboard to "questions/392514/i-want-to-write-a-script-to-open-a-fixed-url-whats-in-the-clipboard-ex-open"
set myURL to "https://apple.stackexchange.com/" & (the clipboard)
tell application "Safari"
activate
if (count documents) is equal to 0 then
make new document
repeat until exists its first window
delay 0.01
end repeat
set URL of its current tab of its first window to myURL
else
set firstTabURL to URL of its first tab of its first window
if {"favorites://", "topsites://", missing value} contains firstTabURL then
set URL of its current tab of its first window to myURL
else
tell its first window to ¬
set its current tab to ¬
(make new tab with properties {URL:myURL})
end if
end if
Nuevamente, la primera línea de código es solo para propósitos de prueba al igual que la parte "https://apple.stackexchange.com/"
de myURL
. Cámbialo por lo que desees y comenta o elimina la primera línea para usarlo normalmente.
Nota: El ejemplo de AppleScript código fue probado en macOS High Sierra.
Nota: El <em>ejemplo</em> de <strong>AppleScript</strong> <em>código</em> es solo eso y no contiene ningún manejo de <em>errores</em> como podría ser apropiado. La responsabilidad recae en el usuario de agregar cualquier manejo de <em>errores</em> que sea apropiado, necesario o deseado. Echa un vistazo a la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129232" rel="nofollow noreferrer"><strong>sentencia</strong></a> <em>try</em> y la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129657" rel="nofollow noreferrer"><strong>sentencia</strong></a> de <em>error</em> en la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html" rel="nofollow noreferrer"><strong>Guía de lenguaje AppleScript</strong></a>. Consulta también, <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_error_xmpls.html#//apple_ref/doc/uid/TP40000983-CH221-SW1" rel="nofollow noreferrer"><strong>Trabajar con Errores</strong></a>. Además, el uso del comando <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW10" rel="nofollow noreferrer"><strong>delay</strong></a> puede ser necesario entre eventos cuando sea apropiado, por ejemplo, <code>delay 0.5</code>, con el <em>valor</em> del <em>delay</em> ajustado apropiadamente.
0 votos
¿Lo has ejecutado? ¿Has recibido un error? ¿Hizo algo?
0 votos
No tengo un mac en realidad. He escrito muchos scripts de powershell y solo estaba tratando de ayudar a un amigo escribiendo un script de applescript. Se ve bien, pero estaba buscando validación de alguien más de que debería funcionar como se pretende.
0 votos
@Ryan hay algunos errores de sintaxis. Por favor, consulta otros hilos para ver cómo arreglarlo. Luego me avisas, puedo probarlo. Esto también me resulta útil. apple.stackexchange.com/questions/tagged/applescript apple.stackexchange.com/questions/363521/…
0 votos
@Ryan esto funciona en su mayor parte: pastebin.com/nmKd8pBm
0 votos
Eso se ve bien. ¿Qué quieres decir en su mayor parte? ¿Hay errores o funciona al azar?
0 votos
@ankii ¿Cómo sería acortarlo y agregar el portapapeles directamente a la URL con un operador &? Di a la aplicación "Safari" para abrir la ubicación "[site.com/&(the](http://www.site.com/&(the) clipboard as text)" end tell
0 votos
@ankii, ¿te importaría probar algo más para mí? Mi amigo quiere automatizarlo con una tecla de acceso rápido. Usando lo que se proporcionó en el pastebin. ¿Crees que esto funcionaría para ese applescript? apple.stackexchange.com/questions/175215/…
0 votos
@ankii - Sé que dijiste que esto también podría beneficiarte. Echa un vistazo a este.--> pastebin.com/3G9TENZx
0 votos
@Ryan estamos en líneas de tiempo diferentes. :) Además, cuando dije "la mayor parte", me refería a que la pulsación de teclas "Enter" y "Derecha" no estaban escritas. ¡Ahora funciona: pastebin.com/Jz85eAPz y sí, cualquier AppleScript puede ser asignado a un atajo utilizando la función de servicio de Automator. Encontraste la pregunta correcta para eso.