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

Объект WebView

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

WebView - это оконный компонент, встроенный в браузер, в настоящее время поддерживает только окна, 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;

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

visible

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

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 : String, установить 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: String, сообщение для отправки

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


on

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

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

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

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

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

  • Object , возвращает сам объект события, легко связать вызов

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

1
Object WebView.on(Object map);

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

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

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

  • Object , возвращает сам объект события, легко связать вызов

addListener

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

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

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

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

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

  • Object , возвращает сам объект события, легко связать вызов

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

1
Object WebView.addListener(Object map);

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

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

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

  • Object , возвращает сам объект события, легко связать вызов

prependListener

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

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

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

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

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

  • Object , возвращает сам объект события, легко связать вызов

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

1
Object WebView.prependListener(Object map);

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

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

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

  • Object , возвращает сам объект события, легко связать вызов

once

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

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

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

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

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

  • Object , возвращает сам объект события, легко связать вызов

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

1
Object WebView.once(Object map);

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

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

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

  • Object , возвращает сам объект события, легко связать вызов

prependOnceListener

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

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

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

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

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

  • Object , возвращает сам объект события, легко связать вызов

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

1
Object WebView.prependOnceListener(Object map);

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

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

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

  • Object , возвращает сам объект события, легко связать вызов

off

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

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

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

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

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

  • Object , возвращает сам объект события, легко связать вызов

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

1
Object WebView.off(String ev);

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

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

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

  • Object , возвращает сам объект события, легко связать вызов

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

1
Object WebView.off(Object map);

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

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

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

  • Object , возвращает сам объект события, легко связать вызов

removeListener

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

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

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

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

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

  • Object , возвращает сам объект события, легко связать вызов

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

1
Object WebView.removeListener(String ev);

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

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

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

  • Object , возвращает сам объект события, легко связать вызов

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

1
Object WebView.removeListener(Object map);

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

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

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

  • Object , возвращает сам объект события, легко связать вызов

removeAllListeners

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

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 : String, укажите название события

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

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

listenerCount

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

1
Integer WebView.listenerCount(String ev);

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

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

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

  • 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