1.2.16. Chromium фрейм¶
Классы фреймов:
-
class
btkFrame.
TbtkLookupChromiumHTMLViewerFrame
¶
1.2.16.1. Описание¶
Фрейм для просмотра и редактирования HTML страниц на основе Chromium Embedded Framework
1.2.16.2. Свойства фрейма¶
Свойство | Описание |
TbtkLookupChromiumHTMLViewerFrame.HTMLFieldName |
Атрибут, который содержит HTML текст. |
1.2.16.3. Вызов паскаль скриптов из HTML¶
1.2.16.3.1. Паскаль скрипт в ссылке¶
В документе HTML паскаль-скриптами могут быть ссылки. При нажатии на сслылку произойдёт выполнение скрипта в рамках текущей выборки.
Для этого в теле тэга, обозначающего гипер-ссылку, необходимо поместить управляющий тэг <script>. То что находится после этого тэга будет считаться скриптом
<a href="<script><Pascal>
ShowMessage('Hello, World');
</Pascal>">Паскаль скрипт</a>
1.2.16.3.2. Вызов паскаль скрипта из JS¶
Для выполнениия паскаль скрипта из JS нужно воспользоваться методом btkSelection.executeOperationText()
.
1.2.16.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);