4

有没有办法获取文本标签和 URL 并使用 Applescript 将它们添加到 Mac 剪贴板,以便富文本应用程序将数据视为 URL 并在粘贴数据时制作链接的锚文本。

我有需要具有“屏幕”标题(锚文本)的无标题参考 URL(通过代码生成)。我可以创建 URL 和锚文本。但是,如何组合它们以便 Mac 剪贴板将数据视为 URL?我试过:

set the clipboard to "<a href=\"" & theURI & "\" target=\"_blank\">" & theAnchor & "</a>"

..但是当使用来自其他应用程序的这些数据时,我得到了 HTML 字符串,而不是带有锚文本的链接作为可见的屏幕文本。

StandardAdditions 有“URL”和“网页”类,但我看不到如何应用它们。这编译但运行时失败:

set myURL to theURI as URL
set myLinkAnchor to theAnchor as text
set linkURL to {URL: myURL, name: myLinkAnchor} as web page
4

2 回答 2

1

AppleScript 确实支持将十六进制编码的 HTML 放入剪贴板:

set the clipboard to «data HTML3c6120687265663d22687474703a2f2f7777772e69727261646961746564736f6674776172652e636f6d22207461726765743d225f626c616e6b223e4972726164696174656420536f6674776172653c2f613e»

这是相当迂回的,但这里是如何做你想做的事:

set theURI to "http://www.irradiatedsoftware.com"
set theAnchor to "Irradiated Software"
set the clipboard to "<a href=\"" & theURI & "\" target=\"_blank\">" & theAnchor & "</a>"
set theHEX to do shell script "pbpaste | hexdump -ve '1/1 \"%.2x\"'"
if theHEX is "" then
    beep
else
    run script "set the clipboard to «data HTML" & theHEX & "»"
end if

YMMV。我尝试将其粘贴到 Word 2011 中,效果很好。我无法让 Pages 接受粘贴。另外,我尝试粘贴到新电子邮件(Mail.app)中,链接很好,但您无法单击它。但是,收件人可以单击该链接。

于 2015-04-01T23:47:12.657 回答
-1

您不能假设所有应用程序都接受 HTML 并将其自动转换为可点击的字符串。您执行此操作的能力取决于目标应用程序如何处理富文本。有些人可能使用 Cocoa 的内置富文本区域类,而其他人可能有自己的完全自定义的文本区域,每个区域都以自己的方式处理 URL。您可以查看目标应用程序的 Dictionary 以查看它是否允许您以可识别的方式创建 URL。

于 2012-07-02T16:33:25.817 回答