Объект встроенный объект

Объект WebView

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

WebView является компонентом окна, встроенным в браузер, в настоящее время поддерживает только окна, т.е.

Поскольку 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, вам необходимо добавить переменную switch, чтобы определить, нужно ли обрабатывать это событие.

наследование

Статическая собственность

defaultMaxListeners

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

1
static Integer WebView.defaultMaxListeners;

Атрибут члена

visible

Boolean, запрос и установка отображения окна

1
Boolean WebView.visible;

onload

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

1
Function WebView.onload;

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;

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

setHtml

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

1
WebView.setHtml(String html) async;

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

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

print

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

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

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

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

close

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

1
WebView.close() async;

postMessage

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

1
WebView.postMessage(String msg) async;

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

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

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


on

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

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

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

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

Вернуть результат:

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

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

1
Object WebView.on(Object map);

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

  • map : Object, определяет отношение отображения события, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве обработчика события

Вернуть результат:

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

addListener

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

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

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

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

Вернуть результат:

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

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

1
Object WebView.addListener(Object map);

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

  • map : Object, определяет отношение отображения события, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве обработчика события

Вернуть результат:

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

prependListener

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

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

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

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

Вернуть результат:

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

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

1
Object WebView.prependListener(Object map);

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

  • map : Object, определяет отношение отображения события, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве обработчика события

Вернуть результат:

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

once

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

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

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

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

Вернуть результат:

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

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

1
Object WebView.once(Object map);

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

  • map : Object, определяет отношение отображения события, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве обработчика события

Вернуть результат:

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

prependOnceListener

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

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

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

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

Вернуть результат:

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

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

1
Object WebView.prependOnceListener(Object map);

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

  • map : Object, определяет отношение отображения события, имя атрибута объекта будет использоваться в качестве имени события, а значение атрибута будет использоваться в качестве обработчика события

Вернуть результат:

  • 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, задает отношение отображения событий, имя атрибута объекта используется в качестве имени события, а значение атрибута используется в качестве функции обработки события

Вернуть результат:

  • 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, задает отношение отображения событий, имя атрибута объекта используется в качестве имени события, а значение атрибута используется в качестве функции обработки события

Вернуть результат:

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

removeAllListeners

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

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

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

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

Вернуть результат:

  • 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 , возвращает количество слушателей для указанного события

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