Objet objet intégré

ObjetWebView

objet de fenêtre de navigateur

WebView est un composant de fenêtre intégré au navigateur. Actuellement, il ne prend en charge que Windows et macOS (10.10+). Il utilise le noyau IE/Edge sous Windows et WKWebView sous macOS.

Étant donné que le programme JavaScript dans WebView et fibjs ne sont pas dans le même moteur, si vous devez communiquer avec le programme hôte, vous devez le faire via des messages.

L'objet utilisé pour la communication par WebView est externe. External prend en charge une méthode postMessage et deux événements onmessage et onclose.

Un exemple de code de communication simple est le suivant :

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();

Le contenu de index.html est le suivant :

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

Avant la fermeture de la fenêtre utilisateur, l'événement external.onclose sera déclenché et external.onclose pourra décider de la fermer. Si external.onclose renvoie false, l'opération est annulée, sinon la fenêtre sera fermée.

L'exemple suivant attendra 5 secondes après que l'utilisateur ait cliqué sur Fermer avant de fermer la fenêtre.

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>

Dans le code ci-dessus, étant donné que window.close lui-même déclenchera également l'événement onclose, une variable switch doit être ajoutée pour identifier si cet événement doit être traité.

relation d'héritage

propriétés statiques

defaultMaxListeners

Entier, le nombre maximum global d'auditeurs par défaut

1
static Integer WebView.defaultMaxListeners;

propriétés des membres

onopen

Événement de réussite du chargement de fonction, de requête et de liaison, équivalent à on("open", func);

1
Function WebView.onopen;

onload

Événements de réussite de chargement de fonctions, de requêtes et de liaisons, équivalents à on("load", func);

1
Function WebView.onload;

onaddress

Événements de changement d'adresse de page de fonction, de requête et de liaison, équivalents à on("address", func);

1
Function WebView.onaddress;

ontitle

Événements de changement de titre de page de fonction, de requête et de liaison, équivalent à on("title", func);

1
Function WebView.ontitle;

onmove

Fonctionner, interroger et lier les événements de mouvement de fenêtre, équivalent à on("move", func);

1
Function WebView.onmove;

L'exemple suivant affiche les coordonnées du coin supérieur gauche de la fenêtre lors de son déplacement :

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

Fonction, interroge et lie les événements de changement de taille de fenêtre, équivalent à on("size", func);

1
Function WebView.onresize;

L'exemple suivant affiche les dimensions d'une fenêtre lorsqu'elle est redimensionnée :

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

Fonctionne, interroge et lie l'événement de fermeture de la fenêtre.Cette fois, elle sera déclenchée après la fermeture de WebView, ce qui équivaut à on("closed", func);

1
Function WebView.onclosed;

onmessage

La fonction, la requête et la liaison acceptent les événements de message postMessage dans la vue Web, équivalent à on("message", func);

1
Function WebView.onmessage;

ondownload

La fonction, la requête et la liaison acceptent les événements de changement d'état de la transaction de téléchargement dans la vue Web, équivalent à on("download", func);

1
Function WebView.ondownload;

fonction membre

loadUrl

charge spécifiéeurlla page

1
WebView.loadUrl(String url) async;

Paramètres d'appel :

  • url: Chaîne, spécifiéeurl

getUrl

Interroger la page actuelleurl

1
String WebView.getUrl() async;

Résultats de retour :

  • String, renvoie la page actuelleurl

setHtml

Définir la page HTML de WebView

1
WebView.setHtml(String html) async;

Paramètres d'appel :

  • html: Chaîne, définissez le HTML

reload

Actualiser la page actuelle

1
WebView.reload() async;

goBack

Retourner à la page précédente

1
WebView.goBack() async;

goForward

Aller à la page suivante

1
WebView.goForward() async;

print

Imprimer le document de la fenêtre actuelle

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

Paramètres d'appel :

  • mode: Entier, paramètres d'impression, 0 : impression rapide ; 1 : impression standard ; 2 : aperçu avant impression. La valeur par défaut est 1

executeJavaScript

Exécutez un morceau de code JavaScript dans la fenêtre actuelle

1
WebView.executeJavaScript(String code) async;

Paramètres d'appel :

  • code: String, spécifie le code JavaScript à exécuter

close

Fermer la fenêtre actuelle

1
WebView.close() async;

postMessage

Envoyer un message à la vue Web

1
WebView.postMessage(String msg) async;

Paramètres d'appel :

  • msg : String, le message à envoyer

    postMessage doit envoyer le message après le chargement de la fenêtre et les messages envoyés auparavant seront perdus. Par conséquent, il est recommandé d’appeler cette méthode après le déclenchement de l’événement onload.


on

Lier un gestionnaire d'événements à l'objet

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

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement
  • func: Fonction, spécifiez la fonction de traitement des événements

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Lier un gestionnaire d'événements à l'objet

1
Object WebView.on(Object map);

Paramètres d'appel :

  • map: Objet, spécifie la relation de mappage d'événement, le nom de l'attribut de l'objet sera utilisé comme nom d'événement et la valeur de l'attribut sera utilisée comme fonction de traitement d'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

addListener

Lier un gestionnaire d'événements à l'objet

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

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement
  • func: Fonction, spécifiez la fonction de traitement des événements

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Lier un gestionnaire d'événements à l'objet

1
Object WebView.addListener(Object map);

Paramètres d'appel :

  • map: Objet, spécifie la relation de mappage d'événement, le nom de l'attribut de l'objet sera utilisé comme nom d'événement et la valeur de l'attribut sera utilisée comme fonction de traitement d'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

prependListener

Lier un gestionnaire d'événements à l'origine de l'objet

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

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement
  • func: Fonction, spécifiez la fonction de traitement des événements

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Lier un gestionnaire d'événements à l'origine de l'objet

1
Object WebView.prependListener(Object map);

Paramètres d'appel :

  • map: Objet, spécifie la relation de mappage d'événement, le nom de l'attribut de l'objet sera utilisé comme nom d'événement et la valeur de l'attribut sera utilisée comme fonction de traitement d'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

once

Liez un gestionnaire d'événement unique à l'objet.Le gestionnaire unique ne sera déclenché qu'une seule fois.

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

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement
  • func: Fonction, spécifiez la fonction de traitement des événements

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Liez un gestionnaire d'événement unique à l'objet.Le gestionnaire unique ne sera déclenché qu'une seule fois.

1
Object WebView.once(Object map);

Paramètres d'appel :

  • map: Objet, spécifie la relation de mappage d'événement, le nom de l'attribut de l'objet sera utilisé comme nom d'événement et la valeur de l'attribut sera utilisée comme fonction de traitement d'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

prependOnceListener

Lier un gestionnaire d'événements à l'origine de l'objet

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

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement
  • func: Fonction, spécifiez la fonction de traitement des événements

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Lier un gestionnaire d'événements à l'origine de l'objet

1
Object WebView.prependOnceListener(Object map);

Paramètres d'appel :

  • map: Objet, spécifie la relation de mappage d'événement, le nom de l'attribut de l'objet sera utilisé comme nom d'événement et la valeur de l'attribut sera utilisée comme fonction de traitement d'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

off

Désaffecter une fonction de la file d'attente de traitement des objets

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

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement
  • func: Fonction, spécifiez la fonction de traitement des événements

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Annuler toutes les fonctions dans la file d'attente de traitement des objets

1
Object WebView.off(String ev);

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Désaffecter une fonction de la file d'attente de traitement des objets

1
Object WebView.off(Object map);

Paramètres d'appel :

  • map: Objet, spécifie la relation de mappage d'événement, le nom de l'attribut de l'objet est utilisé comme nom d'événement et la valeur de l'attribut est utilisée comme fonction de traitement d'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

removeListener

Désaffecter une fonction de la file d'attente de traitement des objets

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

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement
  • func: Fonction, spécifiez la fonction de traitement des événements

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Annuler toutes les fonctions dans la file d'attente de traitement des objets

1
Object WebView.removeListener(String ev);

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Désaffecter une fonction de la file d'attente de traitement des objets

1
Object WebView.removeListener(Object map);

Paramètres d'appel :

  • map: Objet, spécifie la relation de mappage d'événement, le nom de l'attribut de l'objet est utilisé comme nom d'événement et la valeur de l'attribut est utilisée comme fonction de traitement d'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

removeAllListeners

Annule tous les écouteurs de tous les événements de la file d'attente de traitement de l'objet. Si un événement est spécifié, supprime tous les écouteurs de l'événement spécifié.

1
Object WebView.removeAllListeners(String ev);

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Annule tous les écouteurs de tous les événements de la file d'attente de traitement de l'objet. Si un événement est spécifié, supprime tous les écouteurs de l'événement spécifié.

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

Paramètres d'appel :

  • evs: Tableau, précisez le nom de l'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

setMaxListeners

La limite par défaut du nombre d'auditeurs, pour des raisons de compatibilité uniquement

1
WebView.setMaxListeners(Integer n);

Paramètres d'appel :

  • n: Entier, précisez le nombre d'événements

getMaxListeners

Obtient le nombre limite par défaut d'écouteurs, pour des raisons de compatibilité uniquement

1
Integer WebView.getMaxListeners();

Résultats de retour :

  • Integer, renvoie la quantité limite par défaut

listeners

Interrogez le tableau d'écoute pour l'événement spécifié de l'objet

1
Array WebView.listeners(String ev);

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement

Résultats de retour :

  • Array, renvoie le tableau d'écoute pour l'événement spécifié

listenerCount

Interroger le nombre d'écouteurs pour l'événement spécifié de l'objet

1
Integer WebView.listenerCount(String ev);

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement

Résultats de retour :

  • Integer, renvoie le nombre d'écouteurs pour l'événement spécifié

Interroger le nombre d'écouteurs pour l'événement spécifié de l'objet

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

Paramètres d'appel :

  • o: Valeur, précise l'objet de la requête
  • ev: String, spécifie le nom de l'événement

Résultats de retour :

  • Integer, renvoie le nombre d'écouteurs pour l'événement spécifié

eventNames

Nom de l'événement d'écoute de requête

1
Array WebView.eventNames();

Résultats de retour :

  • Array, renvoie un tableau de noms d'événements

emit

Déclencher activement un événement

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

Paramètres d'appel :

  • ev: Chaîne, nom de l'événement
  • args: ..., les paramètres de l'événement seront transmis à la fonction de traitement des événements

Résultats de retour :

  • Boolean, renvoie l'état du déclencheur d'événement, renvoie vrai s'il y a un événement de réponse, sinon renvoie faux

toString

Renvoie la représentation sous forme de chaîne de l'objet. Généralement, "[Native Object]" est renvoyé. L'objet peut être réimplémenté en fonction de ses propres caractéristiques.

1
String WebView.toString();

Résultats de retour :

  • String, renvoie la représentation sous forme de chaîne de l'objet

toJSON

Renvoie une représentation au format JSON de l'objet, renvoyant généralement une collection de propriétés lisibles définies par l'objet.

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

Paramètres d'appel :

  • key: Chaîne, non utilisée

Résultats de retour :

  • Value, renvoie une valeur contenant du JSON sérialisable