# JavaScript API

ВНИМАНИЕ!

Этот документ предназначен для программиста JavaScript.

Объект Web-страница отображается при помощи браузера (chrome), встроенного в приложение KeenVision Player.

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

# Очередь кликов.

В некоторых случаях, программные "нажатия" на HTML-элементы не срабатывают. Например, запрещен запуск видео.

API позволяет имитировать клики реальной мышкой по HTML-элементам. В связи с тем, что каждый клик реальной мышкой занимает время, то чтобы не отслеживать время завершения клика, в API имеется очередь кликов, в которую ставятся задания на клики. Ниже перечислены функции для работы с очередью кликов.

# KeenVision.clickPos( x, y, doubleClick = false )

Добавляет в очередь кликов клик по заданным координатам.

Параметры

x - смещение от левого края окна браузера в пикселях. Значение -1 соответствует центру окна по горизонтали.

y - смещение от верхнего края окна браузера в пикселях. Значение -1 соответствует центру окна по вертикали.

doubleClick - true - имитировать двойной клик, параметр отсутствует или false - имитировать одинарный клик

Возвращаемое значение

Отсутствует.

# KeenVision.clickElement( element, doubleClick = false )

Добавляет в очередь кликов клик по середине HTML-элемента.

Параметры

element - HTML-элемент

doubleClick - true - имитировать двойной клик, параметр отсутствует или false - имитировать одинарный клик

Возвращаемое значение

Отсутствует.

# KeenVision.getClickQueueSize()

Возвращает размер очереди кликов.

Параметры

Отсутствуют

Возвращаемое значение

Целое число - количество невыполненных заданий в очереди кликов. Ноль означает, что все клики выполнены.

# Нажатие клавиши в браузере.

# KeenVision.pressKey(keyCode)

Эмулирует нажатие клавиши в браузере.

Параметры

keyCode - целое число, код клавиши

Возвращаемое значение

Отсутствует.

# Состояние сети.

# KeenVision.isNetworkOk()

Возвращает состояние сетевого интерфейса устройства отображения.

Параметры

Отсутствуют

Возвращаемое значение

true - устройство подключено к сети, false - не подключено.

# Режим "Снимок браузера".

# KeenVision.pageReady(refreshIntervalSec)

Применяется в режиме работы объекта веб-страница "Снимок браузера", сообщает приложению KeenVision Player, что веб-страница готова и можно делать снимок браузера.

Параметры

refreshIntervalSec - целое число, время в секундах, через которое заново загрузить веб-страницу, допустимые значения 30 и более. Если этот параметр отсутствует, то используется значение объекта веб-страница "Период обновления"

Чтобы сообщить приложению KeenVision Player, что скриншот браузера нужно делать, не сразу после загрузки страницы, а по вызову KeenVision.pageReady, JavaScript должен вернуть значение "waitPageReady".

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

function kvmain() {
  const main = document.getElementsByTagName('sameElement')[0];
  if (!main) return "waitPageReady"; //если какой-то важный элемент не загрузился, то ждем его загрузки

  let btn = document.getElementsByClassName('cookie_accept')[0]; //кнопка принять использование куков
  if (btn && (btn.offsetParent != null)) KeenVision.clickElement(btn); //нажать кнопку если она есть

  setTimeout(function() {KeenVision.pageReady();}, 1000); //подождать 1000мс и сделать снимок браузера

  return "waitPageReady";
}

kvmain();