0 votes

Comment afficher un lien hypertexte avec un AppleScript ?

J'essaie d'obtenir une URL via AppleScript, puis de l'afficher sous forme de lien cliquable dans une fenêtre. Comment dois-je m'y prendre ? (si je dois utiliser Xcode pour cela, merci d'ajouter la réponse, mais de fournir des instructions détaillées, s'il vous plaît )

3voto

fanaugen Points 544

AppleScript lui-même ne peut pas afficher du texte riche (HTML) dans une boîte de dialogue contextuelle. Vos options sont donc les suivantes :

  1. Afficher un dialogue texte normal avec AppleScript, montrant l'URL et demandant à l'utilisateur s'il veut y aller. Si l'utilisateur clique sur "OK", l'URL s'ouvre (c'est exactement un clic, donc à peu près l'équivalent d'un lien cliquable).

    -- 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. Utilisez la commande AppleScript de Safari do JavaScript pour créer une fenêtre contextuelle JavaScript avec l'URL souhaitée comme lien cliquable (et éventuellement un peu plus de HTML personnalisé) :

    -- 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

    Bien entendu, cela ne fonctionnera que si votre Safari autorise les fenêtres pop-up (avec mes paramètres, par exemple, un nouvel onglet est ouvert à la place).

1voto

Jusqu'à présent, les liens ne peuvent pas être rendus cliquables dans les scripts de la Apple, mais il existe un moyen de contourner ce problème. Pour ouvrir un seul lien, vous pouvez utiliser comme ci-dessous,

set theAlertText to "Swiftlint is not installed"
set theAlertMessage to "Download from https://github.com/realm/SwiftLint manually. Would you like to open link?"
display alert theAlertText message theAlertMessage as critical buttons {"Cancel", "Open link"} default button "Open link" cancel button "Cancel" giving up after 60
set the button_pressed to the button returned of the result
if the button_pressed is "Open link" then
    open location "https://github.com/realm/SwiftLint/blob/master/README.md"
end if

0voto

adayzdone Points 1798
tell application "Safari" to display dialog URL of document 1 as string

Ou

set theUrl to "http://apple.stackexchange.com/posts/50397"
display dialog theUrl

0 votes

S

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X