¿Cómo muestro un hipervínculo con un AppleScript?

0

Estoy tratando de obtener una URL a través de AppleScript, y luego la muestro como un enlace a través de una ventana. ¿Cómo hago esto? (Si necesito usar Xcode para esto, agregue la respuesta, pero brinde instrucciones detalladas, por favor )

    
pregunta daviesgeek 03.05.2012 - 21:13

2 respuestas

2

AppleScript no puede mostrar texto enriquecido (HTML) en un cuadro de diálogo emergente. Así que tus opciones son:

  1. Muestra un diálogo de texto normal con AppleScript, muestra la URL y le pregunta al usuario si quiere ir allí. Si el usuario hace clic en "Aceptar", abra esa URL (eso es exactamente 1 clic, por lo que es prácticamente equivalente a un enlace en el que se puede hacer clic).

    -- tested with Safari 5.1.7 on Mac OS X 10.6.8
    set theUrl to "http://j.mp/LgHoEB"
    try
        display dialog theUrl & "\nClick OK to open this URL in Safari." with title "Open URL?" with icon caution
        if button returned of result is "OK" then
            tell application "Safari" to make new document with properties {URL:theUrl}
        end if
    on error number -128 -- user cancelled
        -- do something else
    end try
    

  2. Utilice el comando Safari coScript de AppleScript do JavaScript para crear una ventana emergente de JavaScript con la URL deseada como un enlace en el que se puede hacer clic (y posiblemente algún HTML más personalizado):

    -- tested with Safari 5.1.7 on Mac OS X 10.6.8
    set theUrl to "http://j.mp/LgHoEB"
    set JSPopup to "(function() {" & ¬
        "var w = window.open('', 'Clickable link');" & ¬
        "w.document.write(" & ¬
        "'<html><body><p>" & ¬
        "<a href=\"" & theUrl & "\">" & theUrl & "</a>" & ¬
        "</p></body></html>'" & ¬
        ");})()"
    tell application "Safari"
        do JavaScript JSPopup in current tab of window 1
    end tell
    

    Por supuesto, esto solo funcionará si tu Safari permite ventanas emergentes (con mi configuración, por ejemplo, en su lugar se abre una nueva pestaña).

respondido por el fanaugen 22.05.2012 - 07:54
0
tell application "Safari" to display dialog URL of document 1 as string

O

set theUrl to "http://apple.stackexchange.com/posts/50397"
display dialog theUrl
    
respondido por el adayzdone 03.05.2012 - 21:20

Lea otras preguntas en las etiquetas