Встроенный объект объекта

ОбъектВебВью

объект окна браузера

WebView — это оконный компонент, встроенный в браузер. В настоящее время он поддерживает только Windows и macOS (10.10+). Он использует ядро ​​IE/Edge в Windows и WKWebView в macOS.

Поскольку программа JavaScript в WebView и fibjs находятся в разных движках, если вам нужно взаимодействовать с хост-программой, вам нужно делать это через сообщения.

Объект, используемый для связи WebView, является внешним. Внешний поддерживает один метод postMessage и два события onmessage и onclose.

Простой пример кода связи выглядит следующим образом:

1 2 3 4 5 6 7 8 9
// index.js var gui = require('gui'); var webview = gui.open('fs://index.html'); webview.onmessage = msg => console.log(msg); webview.onload = evt => webview.postMessage("hello from fibjs"); webview.wait();

Содержимое index.html следующее:

1 2 3 4 5 6 7 8
<script> external.onclose = function() { } external.onmessage = function(msg){ external.postMessage("send back: " + msg); }; </script>

Прежде чем окно пользователя будет закрыто, будет вызвано событие external.onclose, и external.onclose может решить, закрывать ли его. Если external.onclose возвращает false, операция отменяется, в противном случае окно закроется.

В следующем примере окно будет ждать 5 секунд после того, как пользователь нажмет кнопку «Закрыть».

1 2 3 4 5 6 7 8 9 10 11 12
<script lang="JavaScript"> var bClose = false; external.onclose = function () { if (!bClose) { setTimeout(function () { bClose = true; window.close(); }, 5000); return false; } } </script>

В приведенном выше коде, поскольку сам window.close также запускает событие onclose, необходимо добавить переменную переключателя, чтобы определить, нужно ли обрабатывать это событие.

отношения наследства

статические свойства

defaultMaxListeners

Целое число, глобальное максимальное количество слушателей по умолчанию.

1
static Integer WebView.defaultMaxListeners;

свойства члена

onopen

Событие успешной загрузки функции, запроса и привязки, эквивалентное on("open", func);

1
Function WebView.onopen;

onload

Функция, запрос и привязка событий успешной загрузки, эквивалентных on("load", func);

1
Function WebView.onload;

onaddress

События изменения адреса страницы функции, запроса и привязки, эквивалентные on("address", func);

1
Function WebView.onaddress;

ontitle

Функция, запрос и привязка событий изменения заголовка страницы, эквивалентные on("title", func);

1
Function WebView.ontitle;

onmove

Функция, запрос и привязка событий движения окна, эквивалентная on("move", func);

1
Function WebView.onmove;

В следующем примере выводятся координаты верхнего левого угла окна при его перемещении:

1 2 3 4
var gui = require('gui'); var webview = gui.open('fs://index.html'); webview.onmove = evt => console.log(evt.left, evt.top);

onresize

Функция, запрашивает и связывает события изменения размера окна, что эквивалентно on("size", func);

1
Function WebView.onresize;

В следующем примере выводятся размеры окна при изменении его размера:

1 2 3 4
var gui = require('gui'); var webview = gui.open('fs://index.html'); webview.onresize = evt => console.log(evt.width, evt.height);

onclosed

Функция, запрос и привязка события закрытия окна. На этот раз оно будет вызвано после закрытия WebView, что эквивалентно on("closed", func);

1
Function WebView.onclosed;

onmessage

Функция, запрос и привязка принимают события сообщения postMessage в веб-просмотре, что эквивалентно on("message", func);

1
Function WebView.onmessage;

ondownload

Функция, запрос и привязка принимают события изменения статуса транзакции загрузки в веб-просмотре, что эквивалентно on("download", func);

1
Function WebView.ondownload;

функция-член

loadUrl

указанная нагрузкаurlстраница

1
WebView.loadUrl(String url) async;

Параметры звонка:

  • url: указанная строкаurl

getUrl

Запросить текущую страницуurl

1
String WebView.getUrl() async;

Результаты возврата:

  • String, возвращает текущую страницуurl

setHtml

Установите HTML-страницу веб-просмотра

1
WebView.setHtml(String html) async;

Параметры звонка:

  • html: строка, установите html

reload

Обновить текущую страницу

1
WebView.reload() async;

goBack

Вернуться на предыдущую страницу

1
WebView.goBack() async;

goForward

Перейти на следующую страницу

1
WebView.goForward() async;

print

Распечатать текущий документ окна

1
WebView.print(Integer mode = 1) async;

Параметры звонка:

  • mode: целое число, параметры печати, 0: быстрая печать; 1: стандартная печать; 2: предварительный просмотр печати. По умолчанию – 1.

executeJavaScript

Запустите фрагмент кода JavaScript в текущем окне

1
WebView.executeJavaScript(String code) async;

Параметры звонка:

  • code: строка, указывает код JavaScript, который будет выполнен.

close

Закрыть текущее окно

1
WebView.close() async;

postMessage

Отправить сообщение в веб-просмотр

1
WebView.postMessage(String msg) async;

Параметры звонка:

  • msg: строка, сообщение для отправки.

    postMessage необходимо отправить сообщение после загрузки окна, а сообщения, отправленные ранее, будут потеряны. Поэтому рекомендуется вызывать этот метод после срабатывания события загрузки.


on

Привязать обработчик событий к объекту

1 2
Object WebView.on(String ev, Function func);

Параметры звонка:

  • ev: строка, указывает название события.
  • func: Функция, укажите функцию обработки событий.

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

Привязать обработчик событий к объекту

1
Object WebView.on(Object map);

Параметры звонка:

  • map: Объект, определяет связь сопоставления событий, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве функции обработки событий.

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

addListener

Привязать обработчик событий к объекту

1 2
Object WebView.addListener(String ev, Function func);

Параметры звонка:

  • ev: строка, указывает название события.
  • func: Функция, укажите функцию обработки событий.

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

Привязать обработчик событий к объекту

1
Object WebView.addListener(Object map);

Параметры звонка:

  • map: Объект, определяет связь сопоставления событий, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве функции обработки событий.

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

prependListener

Привяжите обработчик событий к источнику объекта

1 2
Object WebView.prependListener(String ev, Function func);

Параметры звонка:

  • ev: строка, указывает название события.
  • func: Функция, укажите функцию обработки событий.

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

Привяжите обработчик событий к источнику объекта

1
Object WebView.prependListener(Object map);

Параметры звонка:

  • map: Объект, определяет связь сопоставления событий, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве функции обработки событий.

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

once

Привяжите к объекту одноразовый обработчик событий. Одноразовый обработчик будет срабатывать только один раз.

1 2
Object WebView.once(String ev, Function func);

Параметры звонка:

  • ev: строка, указывает название события.
  • func: Функция, укажите функцию обработки событий.

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

Привяжите к объекту одноразовый обработчик событий. Одноразовый обработчик будет срабатывать только один раз.

1
Object WebView.once(Object map);

Параметры звонка:

  • map: Объект, определяет связь сопоставления событий, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве функции обработки событий.

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

prependOnceListener

Привяжите обработчик событий к источнику объекта

1 2
Object WebView.prependOnceListener(String ev, Function func);

Параметры звонка:

  • ev: строка, указывает название события.
  • func: Функция, укажите функцию обработки событий.

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

Привяжите обработчик событий к источнику объекта

1
Object WebView.prependOnceListener(Object map);

Параметры звонка:

  • map: Объект, определяет связь сопоставления событий, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве функции обработки событий.

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

off

Отменить назначение функции из очереди обработки объекта

1 2
Object WebView.off(String ev, Function func);

Параметры звонка:

  • ev: строка, указывает название события.
  • func: Функция, укажите функцию обработки событий.

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

Отменить все функции в очереди обработки объекта

1
Object WebView.off(String ev);

Параметры звонка:

  • ev: строка, указывает название события.

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

Отменить назначение функции из очереди обработки объекта

1
Object WebView.off(Object map);

Параметры звонка:

  • map: Объект, определяет связь сопоставления событий, имя атрибута объекта используется в качестве имени события, а значение атрибута используется в качестве функции обработки событий.

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

removeListener

Отменить назначение функции из очереди обработки объекта

1 2
Object WebView.removeListener(String ev, Function func);

Параметры звонка:

  • ev: строка, указывает название события.
  • func: Функция, укажите функцию обработки событий.

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

Отменить все функции в очереди обработки объекта

1
Object WebView.removeListener(String ev);

Параметры звонка:

  • ev: строка, указывает название события.

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

Отменить назначение функции из очереди обработки объекта

1
Object WebView.removeListener(Object map);

Параметры звонка:

  • map: Объект, определяет связь сопоставления событий, имя атрибута объекта используется в качестве имени события, а значение атрибута используется в качестве функции обработки событий.

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

removeAllListeners

Отменяет все прослушиватели всех событий из очереди обработки объекта. Если событие указано, удаляются все прослушиватели указанного события.

1
Object WebView.removeAllListeners(String ev);

Параметры звонка:

  • ev: строка, указывает название события.

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

Отменяет все прослушиватели всех событий из очереди обработки объекта. Если событие указано, удаляются все прослушиватели указанного события.

1
Object WebView.removeAllListeners(Array evs = []);

Параметры звонка:

  • evs: Массив, укажите название события

Результаты возврата:

  • Object, возвращает сам объект события для облегчения цепных вызовов

setMaxListeners

Ограничение количества прослушивателей по умолчанию, только для совместимости.

1
WebView.setMaxListeners(Integer n);

Параметры звонка:

  • n: Целое число, укажите количество событий

getMaxListeners

Получает предельное количество прослушивателей по умолчанию, только для совместимости.

1
Integer WebView.getMaxListeners();

Результаты возврата:

  • Integer, возвращает лимитируемое количество по умолчанию

listeners

Запросить массив прослушивателей для указанного события объекта

1
Array WebView.listeners(String ev);

Параметры звонка:

  • ev: строка, указывает название события.

Результаты возврата:

  • Array, возвращает массив прослушивателей для указанного события

listenerCount

Запрос количества прослушивателей для указанного события объекта

1
Integer WebView.listenerCount(String ev);

Параметры звонка:

  • ev: строка, указывает название события.

Результаты возврата:

  • Integer, возвращает количество прослушивателей указанного события

Запрос количества прослушивателей для указанного события объекта

1 2
Integer WebView.listenerCount(Value o, String ev);

Параметры звонка:

  • o: Значение, указывает объект запроса.
  • ev: строка, указывает название события.

Результаты возврата:

  • Integer, возвращает количество прослушивателей указанного события

eventNames

Имя события прослушивателя запроса

1
Array WebView.eventNames();

Результаты возврата:

  • Array, возвращает массив имен событий

emit

Активно запускать событие

1 2
Boolean WebView.emit(String ev, ...args);

Параметры звонка:

  • ev: строка, имя события
  • args: ..., параметры события будут переданы в функцию обработки событий

Результаты возврата:

  • Boolean, возвращает статус триггера события, возвращает true, если есть ответное событие, в противном случае возвращает false

toString

Возвращает строковое представление объекта. Обычно возвращается «[Native Object]». Объект может быть повторно реализован в соответствии с его собственными характеристиками.

1
String WebView.toString();

Результаты возврата:

  • String, возвращает строковое представление объекта

toJSON

Возвращает представление объекта в формате JSON, обычно возвращая коллекцию читаемых свойств, определенных объектом.

1
Value WebView.toJSON(String key = "");

Параметры звонка:

  • key: Строка, не используется.

Результаты возврата:

  • Value, возвращает значение, содержащее сериализуемый JSON