3.1.3.13. Chromium фрейм#

Классы фреймов:

class btkFrame.TbtkLookupChromiumHTMLViewerFrame#

Attention

Данный фрейм не реализован в AS

3.1.3.13.1. Описание#

Фрейм для просмотра и редактирования HTML страниц на основе Chromium Embedded Framework

3.1.3.13.2. Свойства фрейма#

Свойство

Описание

TbtkLookupChromiumHTMLViewerFrame.HTMLFieldName

Атрибут, который содержит HTML текст.

3.1.3.13.3. Вызов паскаль скриптов из HTML#

3.1.3.13.3.1. Паскаль скрипт в ссылке#

В документе HTML паскаль-скриптами могут быть ссылки. При нажатии на сслылку произойдёт выполнение скрипта в рамках текущей выборки.

Для этого в теле тэга, обозначающего гипер-ссылку, необходимо поместить управляющий тэг <script>. То что находится после этого тэга будет считаться скриптом

Пример#
  <a href="<script><Pascal>
    ShowMessage('Hello, World');
  </Pascal>">Паскаль скрипт</a>

3.1.3.13.3.2. Вызов паскаль скрипта из JS#

Для выполнениия паскаль скрипта из JS нужно воспользоваться методом btkSelection.executeOperationText().

3.1.3.13.4. JS расширения#

btkSelection.executeOperationText(operationText[, operationArgs])#

Выполняет текст паскаль скрипта в контексте текущей выборки.

Arguments
  • operationText (string()) – Текст паскаль скрипта.

  • operationArgs – Аргументы паскаль скрипта.

Выполнениие паскаль скрипта#
btkSelection.executeOperationText("<Pascal> ShowMessage('Pascal exec'); </Pascal>");

В качестве operationArgs можно передать как единственное значение, так и массив. Аргуметы в паскаль скрипте доступны через “args” в открывающем теге “PASCAL”. В качестве аргументов можно передать только простые типы данных - Int, Bool, Double, Date, String.

Выполнениие паскаль скрипта с параметрами#
btkSelection.executeOperationText("<Pascal arg> ShowMessage(arg); </Pascal>", "some text");

btkSelection.executeOperationText("<Pascal arg1, arg2, arg3> ShowMessage(IntToStr(arg1 + arg2 + arg3)); </Pascal>", [10, 18, 36]);

Выполенние паскаль скрипта происходит асинхронно. Для получения результата из паскаль скрипта у функции btkSelection.executeOperationText() необходимо вызвать метод “then”, в который необходимо передать коллбек вида callback(result). После выполнения паскаль скрипта будет вызван переданный коллбек, в который будет передан результат выполнения паскаль скрипта. В качестве результата из паскаль скрипта можно передавать только простые типы данных - Int, Bool, Double, String, или массив этих типов.

Выполнениие паскаль скрипта с возвраащемым результатом#
function onOperationExecuted(result)
{
  alert(reslut);
}

btkSelection.executeOperationText("<Pascal> Result := 'Result from pascal'; </Pascal>").then(onOperationExecuted);