Objet objet intégré

Objet WebView

Objet de la fenêtre du navigateur

WebView est un composant de fenêtre intégré au navigateur, ne prend actuellement en charge que Windows, macOS (10.10+). Utilisez le noyau IE / Edge dans Windows, utilisez 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 utiliser des messages.

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

Voici un exemple de code de communication simple:

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 que la fenêtre utilisateur ne soit fermée, l'événement external.onclose est déclenché et external.onclose peut décider de fermer. Si external.onclose retourne 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 clique sur Fermer, puis ferme 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 déclenche lui-même également l'événement onclose, une variable de commutation doit être ajoutée pour identifier si l'événement doit être traité.

Héritage

Propriétés statiques

defaultMaxListeners

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

1
static Integer WebView.defaultMaxListeners;

Attributs des membres

visible

Boolean, interroger et définir si la fenêtre est affichée

1
Boolean WebView.visible;

onload

Événement de succès de chargement de fonction, requête et liaison, équivalent à on ("load", func);

1
Function WebView.onload;

onmove

Evénements de mouvement de fonction, de requête et de liaison de fenêtre, équivalent à on ("move", func);

1
Function WebView.onmove;

L'exemple suivant affichera les coordonnées du coin supérieur gauche de la fenêtre lorsque la fenêtre est déplacée:

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

Événement de changement de taille de la fonction, de la requête et de la liaison, équivalent à on ("size", func);

1
Function WebView.onresize;

L'exemple suivant affichera la taille de la fenêtre lorsque la fenêtre 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

Evénement de fermeture de la fonction, de la requête et de la fenêtre de liaison, cette fois sera déclenché après la fermeture de WebView, équivalent à on ("closed", func);

1
Function WebView.onclosed;

onmessage

Fonction, requête et liaison pour accepter l'événement postMessage dans la vue Web, équivalent à on ("message", func);

1
Function WebView.onmessage;

Fonction membre

setHtml

Définir la page HTML de la vue Web

1
WebView.setHtml(String html) async;

Paramètres d'appel:

  • html : chaîne, définir html

print

Imprimer le document de la fenêtre actuelle

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

Paramètres d'appel:

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

close

Fermer la fenêtre actuelle

1
WebView.close() async;

postMessage

Envoyer un message à la webview

1
WebView.postMessage(String msg) async;

Paramètres d'appel:

  • msg: String, le message à envoyer

    postMessage doit envoyer un message après le chargement de la fenêtre, les messages envoyés avant 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écifiez le nom de l'événement
  • func : Fonction, spécifiez la fonction de traitement des événements

Résultat de retour:

  • Object , renvoie l'objet événement lui-même, appel facile à enchaîner

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

1
Object WebView.on(Object map);

Paramètres d'appel:

  • map : objet, spécifiez la relation de mappage d'événement, le nom de la propriété de l'objet sera le nom de l'événement et la valeur de la propriété sera la fonction de traitement des événements

Résultat de retour:

  • Object , renvoie l'objet événement lui-même, appel facile à enchaîner

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écifiez le nom de l'événement
  • func : Fonction, spécifiez la fonction de traitement des événements

Résultat de retour:

  • Object , renvoie l'objet événement lui-même, appel facile à enchaîner

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

1
Object WebView.addListener(Object map);

Paramètres d'appel:

  • map : objet, spécifiez la relation de mappage d'événement, le nom de la propriété de l'objet sera le nom de l'événement et la valeur de la propriété sera la fonction de traitement des événements

Résultat de retour:

  • Object , renvoie l'objet événement lui-même, appel facile à enchaîner

prependListener

Lier un gestionnaire d'événements au début de l'objet

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

Paramètres d'appel:

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

Résultat de retour:

  • Object , renvoie l'objet événement lui-même, appel facile à enchaîner

Lier un gestionnaire d'événements au début de l'objet

1
Object WebView.prependListener(Object map);

Paramètres d'appel:

  • map : objet, spécifiez la relation de mappage d'événement, le nom de la propriété de l'objet sera le nom de l'événement et la valeur de la propriété sera la fonction de traitement des événements

Résultat de retour:

  • Object , renvoie l'objet événement lui-même, appel facile à enchaîner

once

Liez une fonction de traitement d'événement unique à l'objet, la fonction de traitement unique ne sera déclenchée qu'une seule fois

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

Paramètres d'appel:

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

Résultat de retour:

  • Object , renvoie l'objet événement lui-même, appel facile à enchaîner

Liez une fonction de traitement d'événement unique à l'objet, la fonction de traitement unique ne sera déclenchée qu'une seule fois

1
Object WebView.once(Object map);

Paramètres d'appel:

  • map : objet, spécifiez la relation de mappage d'événement, le nom de la propriété de l'objet sera le nom de l'événement et la valeur de la propriété sera la fonction de traitement des événements

Résultat de retour:

  • Object , renvoie l'objet événement lui-même, appel facile à enchaîner

prependOnceListener

Lier un gestionnaire d'événements au début de l'objet

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

Paramètres d'appel:

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

Résultat de retour:

  • Object , renvoie l'objet événement lui-même, appel facile à enchaîner

Lier un gestionnaire d'événements au début de l'objet

1
Object WebView.prependOnceListener(Object map);

Paramètres d'appel:

  • map : objet, spécifiez la relation de mappage d'événement, le nom de la propriété de l'objet sera le nom de l'événement et la valeur de la propriété sera la fonction de traitement des événements

Résultat de retour:

  • Object , renvoie l'objet événement lui-même, appel facile à enchaîner

off

Annuler la fonction spécifiée 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écifiez le nom de l'événement
  • func : Fonction, spécifiez la fonction de traitement des événements

Résultat de retour:

  • Object , renvoie l'objet événement lui-même, appel facile à enchaîner

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

1
Object WebView.off(String ev);

Paramètres d'appel:

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

Résultat de retour:

  • Object , renvoie l'objet événement lui-même, appel facile à enchaîner

Annuler la fonction spécifiée de la file d'attente de traitement des objets

1
Object WebView.off(Object map);

Paramètres d'appel:

  • map : objet, spécifiez la relation de mappage d'événement, le nom de propriété d'objet est utilisé comme nom d'événement et la valeur de propriété est utilisée comme fonction de traitement d'événement

Résultat de retour:

  • Object , renvoie l'objet événement lui-même, appel facile à enchaîner

removeListener

Annuler la fonction spécifiée 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écifiez le nom de l'événement
  • func : Fonction, spécifiez la fonction de traitement des événements

Résultat de retour:

  • Object , renvoie l'objet événement lui-même, appel facile à enchaîner

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

1
Object WebView.removeListener(String ev);

Paramètres d'appel:

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

Résultat de retour:

  • Object , renvoie l'objet événement lui-même, appel facile à enchaîner

Annuler la fonction spécifiée de la file d'attente de traitement des objets

1
Object WebView.removeListener(Object map);

Paramètres d'appel:

  • map : objet, spécifiez la relation de mappage d'événement, le nom de propriété d'objet est utilisé comme nom d'événement et la valeur de propriété est utilisée comme fonction de traitement d'événement

Résultat de retour:

  • Object , renvoie l'objet événement lui-même, appel facile à enchaîner

removeAllListeners

Annulez tous les écouteurs de tous les événements de la file d'attente de traitement des objets. Si un événement est spécifié, supprimez tous les écouteurs de l'événement spécifié.

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

Paramètres d'appel:

  • evs : Array, spécifiez le nom de l'événement

Résultat de retour:

  • Object , renvoie l'objet événement lui-même, appel facile à enchaîner

setMaxListeners

La limite par défaut du nombre d'écouteurs, uniquement pour la compatibilité

1
WebView.setMaxListeners(Integer n);

Paramètres d'appel:

  • n : Entier, spécifiez le nombre d'événements

getMaxListeners

Obtenez la limite par défaut du nombre d'écouteurs, uniquement pour des raisons de compatibilité

1
Integer WebView.getMaxListeners();

Résultat de retour:

  • Integer , renvoie le nombre limite par défaut

listeners

Tableau d'écouteurs pour l'événement spécifié de l'objet de requête

1
Array WebView.listeners(String ev);

Paramètres d'appel:

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

Résultat de retour:

  • Array , renvoie un tableau d'écouteurs pour l'événement spécifié

listenerCount

Le nombre d'écouteurs pour l'événement spécifié de l'objet de requête

1
Integer WebView.listenerCount(String ev);

Paramètres d'appel:

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

Résultat de retour:

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

eventNames

Nom de l'événement de l'écouteur de requête

1
Array WebView.eventNames();

Résultat de retour:

  • Array , retourne 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 : ..., paramètres d'événement, qui seront transmis au gestionnaire d'événements

Résultat de retour:

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

toString

Renvoie la représentation sous forme de chaîne de l'objet, renvoie généralement "[Native Object]", l'objet peut être réimplémenté selon ses propres caractéristiques

1
String WebView.toString();

Résultat de retour:

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

toJSON

Renvoie la représentation au format JSON de l'objet, renvoie généralement une collection d'attributs lisibles définis par l'objet

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

Paramètres d'appel:

  • key : chaîne, inutilisée

Résultat de retour:

  • Value , renvoie une valeur contenant JSON sérialisable