...
Расширение функционала за счет кода на языках JavaScript и C#.
JavaScript
...
JavaScript код можно выполнить двумя способами:
...
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
Пожалуйста, ознакомьтесь с Правилами использования материалов на данном ресурсе |
Оглавление
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|
...
Описание
Данный экшен позволяет выполнять пользовательский JavaScript код на страницах сайтов. Так же с помощью данного экшена можно проводить арифметические операции с переменными проекта:
...
Как добавить действие в проект?
Через контекстное меню Добавить действие → Свой код → JavaScript
...
Либо воспользуйтесь умным поиском.
...
Для чего это используется?
Арифметические операции с переменными
Взаимодействие с элементами страницы по средствам JavaScript
...
Как работать с экшеном?
У экшена существует несколько режимов работы:
Note |
---|
Не зависимо от выбранного режима работы в настройках экшена обязательно должна быть указана переменная, в которую сохранится результат работы (даже если логика Вашего кода не подразумевает возврат значения) |
Локально
Код будет выполнен в изолированном окружении (независимо от браузера, за его пределами). Этот способ можно использовать для работы с переменными. Работать с числами и строками. Выполнять любые действия с данными которые позволяет JS
...
.
Протестировать такой код можно с помощью Тестера JavaScript .
Note |
---|
При работе в данном режиме не надо указывать ключевое слово return, если Вы хотите вернуть какое-то значение. Результатом работы данного экшена будет значение, вычисленное в последней строке экшена. На примере ниже в переменную проекта {-Variable.result-} попадёт значение “6”, результат выражения 2+2*2. |
...
На текущей странице
...
Код будет выполнен в браузере (текущем инстансе). Этот способ стоит использовать для работы с DOM деревом страницы, для взаимодействия с элементами страницы.
Пример:
Code Block |
---|
return document.cookie; |
Вернёт содержимое cookie для текущей страницы.
Тестер JS
...
JavaScript Тестер - инструмент позволяющий проверить корректность работы Вашего локального JS кода. Тестер формирует код для вставки в экшен.
...
С# код
...
С# код - как и JS, позволяет решать разные задачи посредством кода на языке C#. Экшен C# код имеет тестер.
...
При создании проекта стоить помнить, что тестер C# кода не имеет доступа к значениям переменных. Эти переменные стоит продублировать в самом тестере с указанием данных которые они содержат.
Доступ к переменным осуществляется через код:
Code Block |
---|
project.Variables["var1"].Value; |
Где var1 - имя переменной.
Для доступа к классам библиотеки .NET стоит не забывать о добавлении ссылок из GAC и возможности использования using.
Запуск сторонней программы
...
Экшен позволяет запускать как обычные приложения, так и программы с параметрами командной строки:
WinRAR
cmd
ImageMagick
Tesseract OCR
и многие другие.При работе в данном режиме у Вас есть доступ ко все объектам текущей страницы, в том числе Вы можете использовать подключенные на сайте библиотеки и фреймворки (например jQuery).
На странице расширения
Код будет выполнен в контексте активированного расширения.
При создании окна страницы
Скрипт выполнится во время события DOMWindowCreated. С помощью данного режима можно переопределять любые JavaScript объекты, до первого обращения к ним сайта. У данного режиме есть несколько вариантов исполнения:
один раз - код выполнится единожды;
на домене - код будет исполняться каждый раз при создании окна для указанного домена (если отмечена настройка Во всех вкладках, то код исполняется во всех вкладках инстанса)
все время - код исполняется при каждом создании окна независимо от домена (если отмечена настройка Во всех вкладках, то код исполняется во всех вкладках инстанса)
При загрузке страницы
В таком варианте скрипт выполняется во время события DOMContentLoaded. Один из вариантов применения: отключать отображение ненужных или мешающих элементов на странице
...
Как и в предыдущем режиме существует несколько вариантов исполнения:
один раз - код выполнится единожды;
на домене - код будет исполняться каждый раз при создании окна для указанного домена (если отмечена настройка Во всех вкладках, то код исполняется во всех вкладках инстанса)
все время - код исполняется при каждом создании окна независимо от домена (если отмечена настройка Во всех вкладках, то код исполняется во всех вкладках инстанса)
...
Пример использования
Арифметические операции
...
В результате выполнения этого экшена в переменную проекта result сохранится результат деления переменной проекта height на 2
Подключение JavaScript библиотек
С помощью данного экшена можно встроить на страницу библиотеку, которой изначально не было. Например, можно с помощью такого кода добавить jQuery
Code Block | ||
---|---|---|
| ||
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); |
Пример проекта:
View file | ||
---|---|---|
|
...