脚本编制Safari URL更新

两个更新“编写Safari URL的脚本”。

打开位置

以前,我抱怨Safari没有支持任何用于打开URL的标准浏览器命令(例如的GetURL要么的OpenURL)我能提出的最好的解决方法,以及我在其他地方看到的,是这样的:

tell application "Safari"
    make new document at end of documents
    set url of document 1 to "http://www.example.com/"
end tell

我认为必须有更好的方法Safari显然能够通过Apple活动打开网页例如,如果您将Safari设置为默认Web浏览器,则当您单击邮件中的链接时它会响应来自您的电子邮件客户端的Apple事件,并且当您在Finder中双击Web位置剪切文件时它会打开网页Those are Apple events, and there’s no way those applications are sending complicated Apple events to Safari — they’re sending an open URL event.

Jim Correia通过电子邮件提供了解决方案尽管Safari在其字典中没有标准GetURL Apple事件的条目,但它在标准添加OSAX中定义为开放的位置因此,要在Safari中打开URL,您只需使用:

tell application "Safari"
    open location "http://www.example.com"
end tell

好多了,不是吗?

从Safari插入URL

Bill Hoffman写信询问为什么我们的脚本将Safari中的URL插入到BBEdit中使用了这个:

set url_list to {}

tell application "Safari"
    set doc_list to every document
    repeat with d in doc_list
        copy URL of d to end of url_list
    end repeat
end tell

构建Safari的开放URL列表,而不是:

tell application "Safari"
    set url_list to URL of every document
end tell

没有理由,除了我没有想到它霍夫曼的代码更短,更直接我们相应地在上周的文章中对脚本进行了修改。