Я использую OS X JavaScript для автоматизации (JXA) и хочу иметь возможность захватывать событие Apple «открытое местоположение».
Согласно http://www.macosxautomation.com/applescript/linktrigger/, я настроил обработчик URL клиента. Как мне сделать эквивалент
on open location this_URL
...
end open location
с JXA? Я пробовал все следующее, но не смог заставить ни одно из них выполниться:
app = Application.currentApplication();
app.includeStandardAdditions = true;
function run() {
app.displayDialog(JSON.stringify(arguments));
}
function openLocation() {
app.displayDialog(JSON.stringify(arguments));
}
function openDocuments() {
app.displayDialog(JSON.stringify(arguments));
}
function onOpenLocation() {
app.displayDialog(JSON.stringify(arguments));
}
Документация Apple по JXA (https://developer.apple.com/library/mac/releasenotes/InterapplicationCommunication/RN-JavaScriptForAutomation/Articles/OSX10-10.html#//apple_ref/doc/uid/TP40014508-CH109-SW15 ) не обсуждайте, как обрабатывать событие открытия местоположения. Мой сценарий будет открыт, потому что я могу получить предупреждение, если добавлю его вне функций. Я просто не мог заставить функцию выполняться и передаваться по URL-адресу.
Я работаю над этим, используя обработчик AppleScript, который затем вызывает мой код JXA, но это, безусловно, далеко не идеально.
Я также ничего не видел в кулинарной книге JXA (https://github.com/dtinth/JXA-Cookbook ) об этом.
function openLocation(thisURL) { // process thisURL }
, если оно должно работать… - person kopischke   schedule 06.03.2016