2015-02-08 27 views

回答

1

打開的位置不屬於Safari。看看StandardAdditions。

+0

不完全正確。許多與網絡相關的應用程序(Safari,Mail等)都實現了「獲取URL」('GURLGURL')處理程序,用於在該應用程序中打開URL,但令人煩惱地忘記將其記錄在其字典中。標準增加osax還提供了一個'GURLGURL'處理程序,該處理程序接受任何URL並將其轉發給該URL方案的默認應用程序(例如'http'到您的默認瀏覽器)。但是,您可以將'GURLGURL'事件直接發送到特定的應用程序,如果你願意由於osax的術語是全局可用的,所以你可以把它寫成'open location'而不是«event GURLGURL»'(只要StdAdds被加載)。 – foo 2015-02-09 22:15:23

+0

你不能發送一個標準的附加命令到大多數應用程序?告訴應用程序「Safari」顯示對話框「Standard Additions」該命令是屬於應用程序還是標準添加命令被髮送到應用程序? – adayzdone 2015-02-09 23:56:35

+0

'sysodlog'(顯示對話框)是一個Standard Additions處理程序,可以加載到_any_無特權進程中,允許該進程響應'sysodlog'事件。 (是的,這是邪惡的。)AppleScript通過首先發送一個'ascrgdut'事件自動告訴一個進程加載osaxen。 OTOH,像Safari和Mail這樣的應用程序已經包含了他們自己的'GURLGURL'(開放位置)處理程序,每個處理程序都知道如何打開適合該應用程序的URL('http','mailto'等)。所有標準附件的「開放位置」處理程序知道如何做的是將'GURLGURL'事件轉發到該URL的默認應用程序。 – foo 2015-02-10 08:20:39

相關問題