Перейти к основному содержимому

Код JavaScript

🔗 Оригинальная страница — Источник данного материала


Описание

Этот экшен позволяет выполнять пользовательский JavaScript код и производить арифметические операции с переменными проекта.

image-20201228-140625

Как добавить действие в проект?

Через контекстное меню: Добавить действиеСвой кодJavaScript

image-20210309-170124


Принцип работы

Есть несколько режимов работы:

Локально.

Код будет выполнен в изолированном окружении, независимо от открытого приложения и за его пределами.
Этот способ можно использовать для работы с любыми данными, которые поддерживает JS. Например с:

  • переменными,
  • числами,
  • строками.

image-20201228-143058

При работе в данном режиме не надо указывать ключевое слово return, если собираетесь вернуть какое-то значение. Данный экшен сам вернет результат вычислений из последней строки.
В примере выше в переменную проекта {-Variable.result-} попадёт значение 6, результат выражения 2+2*2.

Протестировать такой код можно с помощью Тестера JavaScript.

image-20201228-143058

На текущей странице

Код будет выполнен на открытой странице браузера. Этот способ стоит использовать для работы с DOM-древом, чтобы взаимодействовать с элементами страницы.

При работе в данном режиме открывается доступ ко все объектам текущей страницы. В том числе к подключенным на сайте библиотекам и фреймворкам (например jQuery).

Независимо от выбранного режима

В настройках экшена обязательно должна быть указана переменная, в которую сохранится результат работы. Даже если логика кода не подразумевает возврат значения.

На странице расширения

Код будет выполнен в контексте активированного расширения.

При создании окна страницы

Скрипт выполнится во время события DOMWindowCreated. С помощью данного режима можно переопределять любые JavaScript объекты, до первого обращения к ним сайта.

У данного режиме есть несколько вариантов исполнения:

  • один раз — код выполнится только единожды;
  • на домене — выполнение каждый раз при создании окна для указанного домена.
  • все время — исполняется при каждом создании окна независимо от домена.
Код исполняется во всех вкладках инстанса

Если при этом отмечена настройка «Во всех вкладках»

При загрузке страницы

При таком варианте скрипт выполняется уже во время события DOMContentLoaded. Можно использовать, например, для отключения отображения ненужных или мешающих элементов на странице.

image-20201228-145906

Как и в предыдущем режиме существует несколько вариантов исполнения:

  • один раз — код выполнится только единожды;
  • на домене — выполнение каждый раз при создании окна для указанного домена.
  • все время — исполняется при каждом создании окна независимо от домена.
Код исполняется во всех вкладках инстанса

Если при этом отмечена настройка «Во всех вкладках»


Пример использования

Арифметические операции

Арифметические операции
После выполнения этого экшена в переменную result сохранится результат деления переменной height на 2

Подключение JavaScript библиотек

Можно также встроить на страницу библиотеку, которой изначально не было. Например, с помощью кода добавить jQuery:

var s = document.createElement('script');
s.type = 'text/javascript';
s.src = 'https://code.jquery.com/jquery-1.10.2.min.js';
document.body.appendChild(s);

image-20210309-164945

Пример проекта

Полезные ссылки