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

オブジェクトWebView

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

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

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

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イベントをトリガーするため、イベントを処理する必要があるかどうかを識別するためにスイッチ変数を追加する必要があります。

継承

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<class>EventEmitter|new EventEmitter()|EventEmitter|defaultMaxListeners|on();addListener();prependListener();once();prependOnceListener();off();removeListener();removeAllListeners();setMaxListeners();getMaxListeners();listeners();listenerCount();eventNames();emit()] [<this>WebView|type;dev;onopen;onload;onaddress;ontitle;onmove;onresize;onclosed;onmessage;ondownload|loadUrl();getUrl();setHtml();reload();goBack();goForward();print();printToPDF();executeJavaScript();executeDevToolsMethod();close();postMessage()] [object] <:- [EventEmitter] [EventEmitter] <:- [WebView] EventEmitter new EventEmitter() EventEmitter defaultMaxListeners on() addListener() prependListener() once() prependOnceListener() off() removeListener() removeAllListeners() setMaxListeners() getMaxListeners() listeners() listenerCount() eventNames() emit() WebView type dev onopen onload onaddress ontitle onmove onresize onclosed onmessage ondownload loadUrl() getUrl() setHtml() reload() goBack() goForward() print() printToPDF() executeJavaScript() executeDevToolsMethod() close() postMessage() object toString() toJSON()

静的プロパティ

defaultMaxListeners

整数、リスナーのデフォルトのグローバル最大数

1
static Integer WebView.defaultMaxListeners;

メンバー属性

type

文字列、現在のウィンドウのWebViewエンジン

1
readonly String WebView.type;

dev

値、DevToolsアクセスオブジェクト。呼び出し元のインターフェイスを参照してくださいhttps://chromedevtools.github.io/devtools-protocol/

1
readonly Value WebView.dev;

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

on( "download"、func);と同等の、Webビューでのダウンロードトランザクションステータス変更イベントを受け入れるための関数、クエリ、およびバインド。

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です

printToPDF

現在のウィンドウドキュメントをPDFファイルに印刷します

1
WebView.printToPDF(String file) async;

呼び出しパラメーター:

  • file:文字列、PDFパスを指定

executeJavaScript

現在のウィンドウでJavaScriptコードを実行します

1
WebView.executeJavaScript(String code) async;

呼び出しパラメーター:

  • code:文字列、実行するJavaScriptコードを指定します

executeDevToolsMethod

現在のウィンドウでDevToolsコマンドを実行し、結果を返します

1 2
Variant WebView.executeDevToolsMethod(String method, Object params = {}) async;

呼び出しパラメーター:

  • method:文字列、実行するDevToolsコマンドを指定します
  • params:オブジェクト、コマンドのパラメータを指定します

戻り結果:

  • Variant、実行結果を返します

close

現在のウィンドウを閉じる

1
WebView.close() async;

postMessage

Webビューにメッセージを送信します

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

オブジェクトの文字列表現を返します。通常は「[NativeObject]」を返します。オブジェクトは、独自の特性に従って再実装できます。

1
String WebView.toString();

戻り結果:

  • String、オブジェクトの文字列表現を返します

toJSON

オブジェクトのJSON形式の表現を返します。通常、オブジェクトによって定義された読み取り可能な属性のコレクションを返します。

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

呼び出しパラメーター:

  • key:文字列、未使用

戻り結果:

  • Value、シリアル化可能なJSONを含む値を返します