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

Код JavaScript

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


Код JavaScript

Описание

Данный экшен позволяет выполнять пользовательский JavaScript код на страницах сайтов. Так же с помощью данного экшена можно проводить арифметические операции с переменными проекта:

image-20201228-140625

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

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

image-20210309-170124

Либо воспользуйтесь ❗→ умным поиском.

Для чего это используется?

  • Арифметические операции с переменными
  • Взаимодействие с элементами страницы по средствам JavaScript

Как работать с экшеном?

У экшена существует несколько режимов работы:

Внимание

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

Локально

Код будет выполнен в изолированном окружении (независимо от браузера, за его пределами). Этот способ можно использовать для работы с переменными. Работать с числами и строками. Выполнять любые действия с данными которые позволяет JS.

На заметку

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

Внимание

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

image-20201228-143058

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

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

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

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

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

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

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

  • один раз - код выполнится единожды;
  • на домене - код будет исполняться каждый раз при создании окна для указанного домена (если отмечена настройка Во всех вкладках, то код исполняется во всех вкладках инстанса)
  • все время - код исполняется при каждом создании окна независимо от домена (если отмечена настройка Во всех вкладках, то код исполняется во всех вкладках инстанса)

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

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

image-20201228-145906

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

  • один раз - код выполнится единожды;
  • на домене - код будет исполняться каждый раз при создании окна для указанного домена (если отмечена настройка Во всех вкладках, то код исполняется во всех вкладках инстанса)
  • все время - код исполняется при каждом создании окна независимо от домена (если отмечена настройка Во всех вкладках, то код исполняется во всех вкладках инстанса)

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

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

В результате выполнения этого экшена в переменную проекта result сохранится результат деления переменной проекта height на 2
В результате выполнения этого экшена в переменную проекта 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

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

❗→ add_jquery.zp

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