オブジェクト組み込みオブジェクト

オブジェクトWebView

ブラウザウィンドウオブジェクト

WebView はブラウザに組み込まれたウィンドウ コンポーネントです。現在、Windows と macOS (10.10 以降) のみをサポートしています。Windows では IE/Edge カーネルを使用し、macOS では WKWebView を使用します。

WebView の JavaScript プログラムと fibjs は同じエンジン内にないため、ホスト プログラムと通信する必要がある場合は、メッセージを通じて行う必要があります。

WebView による通信に使用されるオブジェクトは外部であり、外部では 1 つのメソッド postMessage と 2 つのイベント 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

関数、クエリ、バインディングは、on("message", func) と同等の、Webview の postMessage メッセージ イベントを受け入れます。

1
Function WebView.onmessage;

ondownload

関数、クエリ、バインディングは、WebView でのダウンロード トランザクション ステータス変更イベントを受け入れます。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

WebViewのページ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

WebView にメッセージを送信する

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、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

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 回だけトリガーされます。

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

呼び出しパラメータ:

  • ev: 文字列、イベントの名前を指定します
  • func: 関数、イベント処理関数を指定します

返される結果:

  • Object、チェーン呼び出しを容易にするためにイベント オブジェクト自体を返します。

ワンタイム イベント ハンドラーをオブジェクトにバインドします。ワンタイム ハンドラーは 1 回だけトリガーされます。

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 を含む値を返します