2016-09-06 24 views
0

如果我導出只用JavaScript編寫的AppleScript,則可以在腳本編輯器中打開。它還顯示所有的源代碼。但是,如果我只將常規AppleScript導出爲只運行,則無法打開它,也無法使用其他文本編輯器查看源代碼。有沒有解決方案?謝謝!AppleScript JavaScript不能導出爲僅運行

回答

1

兩種OSA語言都按設計工作。 「僅運行」選項告訴OSA語言將腳本保存爲「無法分解」的字節碼,無法[很容易]將其轉換回源代碼格式。這提供了一種保護措施,防止他人在分發時偵聽或修改該腳本,但如果您需要對其進行將來更改,則需要小心保留單獨的可編輯副本。

的AppleScript旨在支持OSA(反之亦然),以便支持該和所有其他OSA功能就好了。 OTOH,JXA是一團糟,並且不能正確支持許多OSA功能。儘管在這種情況下,JXA可能沒有多少功能,因爲JavaScript解釋器不支持以字節碼格式存儲和加載腳本,並且OSA語言無法告訴腳本編輯器禁用「僅運行」複選框(如果它不運行)不支持它,所以JXA .scpt文件將始終包含原始的,可編輯的JS源代碼,即使您認爲它不包含。

(即'只運行'選項對JXA腳本不起作用,當然應該記錄下來,但JXA的文檔比它的實現更糟糕,所以在那裏並不意外。)