Передать переменную automator в javascript

Я хотел бы использовать выделенный текст в моем рабочем процессе автоматизатора. Если я использую "Run bash action" У меня есть опция "передать ввод в качестве аргументов". Но в случае "Run JavaScript" действие - я не

Итак, что я должен сделать, чтобы передать данные буфера обмена (текст) в мою функцию JS sum_letters?

Мой рабочий процесс Automator

1 ответ

Запуск Javascript в Automator требует объявления run() функция, которая вызывается при инициализации. Это место, где размещены ваши основные реализации кода. Это определяется так:

    function run(input, parameters) {

        // Your script goes here

        return input
    }

У него есть два аргумента. Интересной для вас является input Аргумент, который будет содержать любые данные, переданные из предыдущего действия в рабочем процессе, хранящиеся в виде массива.

В вашем рабочем процессе содержимое буфера обмена переносится из действия " Копировать в буфер обмена" и передается в input переменная, которая будет содержать один элемент, input[0], значением которого будет содержимое буфера обмена.

Затем вы можете передать это в качестве аргумента вашей функции sum_letters(),

Вот как это будет выглядеть:

Запустите Javascript:

    function run(input, parameters) {
        var clipboardText = input[0]
        sum_letters(clipboardText)

        // Other lines of code

        return input[0]
    }

    function num_letters(k,d) {
        var i = '', e = [

        // ...etc...
    }

    function sum_letters(t) {

        // Lines of code
    }

и так далее. Так run() вызывается немедленно, когда рабочий процесс достигает действия " Выполнить Javascript". Другие функции, такие как num_letters() а также sum_letters() вызывается только если это сделано явно изнутри run()или изнутри другой функции, которая вызывается из run(),

run() заканчивается, когда он достигает return заявление. Это передает значение по вашему выбору обратно в рабочий процесс Automator и к следующему действию.

Если вам нужны какие-либо разъяснения или есть дополнительные вопросы, дайте мне знать.

Другие вопросы по тегам