WebView
WebViewウィジェットは、アプリ画面の中にWebブラウザ領域を埋め込み、WebページやHTMLコンテンツを表示するウィジェットです。
URL、アプリ内部のアセットパス、インラインHTMLデータを読み込めるほか、ページとアプリの間でデータをやり取りできます。
定義・役割
WebViewウィジェットは、指定したコンテンツを埋め込みブラウザでレンダリングします。読み込むコンテンツは、ウィジェットのタイプに応じてURL・アセットパス・インラインHTMLデータのいずれかとして解釈されます。スクロールバーの表示、ローディングバーの表示、カスタムUser-Agent、親スクロールへの伝達(macOS)などを設定でき、スクリプトからページのJavaScriptを実行したり、ページとデータをやり取りしたりできます。
- カテゴリー: Contents
- デフォルトのタイプ:
url - デフォルトのサイズ(Sized Box): 100 x 100
機能
| 機能 | 説明 |
|---|---|
| コンテンツの読み込み | タイプ(url・assetpath・data)に応じて、URL・アプリのアセットパス・インラインHTMLを読み込みます。 |
| ページ読み込みの通知 | ページの読み込みが終わるとonFinishedイベントで通知します。 |
| ページとアプリの通信 | ページがhybrid://ブリッジで送ったメッセージをonShouldOverrideUrl・onReceiveDataで受け取り、sendDataToWebでページにデータを送ります。 |
| JavaScriptの実行 | runJavaScript・asyncRunJavaScriptでページ内のJavaScriptを実行します。 |
| 表示設定 | 縦・横のスクロールバー、ローディングバーの表示有無とカスタムUser-Agentを設定します。 |
使い方
- 左のウィジェットパレットでContentsカテゴリーを開きます。
- WebView項目をキャンバスへドラッグ&ドロップします。
- 右のプロパティパネルで
type(url・assetpath・data)を選び、valueに読み込むアドレス・パス・HTMLを入力します。 - 必要に応じて、スクロールバー(
verticalScrollBarEnabled・horizontalScrollBarEnabled)・ローディングバー(showLoadingBar)・User-Agent(userAgent)などを調整します。
プロパティ
| プロパティ | 説明 | デフォルト値 | 値 / タイプ |
|---|---|---|---|
type | valueを解釈する方式 | url | url, assetpath, data |
value | 読み込むコンテンツ(タイプに応じてURL・アセットパス・HTML) | 空 | 文字列 |
userAgent | デフォルトのUser-Agentの後ろに追加するカスタムUser-Agent | 空 | 文字列 |
verticalScrollBarEnabled | 縦スクロールバーを表示するかどうか | true | ブール値 |
horizontalScrollBarEnabled | 横スクロールバーを表示するかどうか | true | ブール値 |
embedInParentScroll | トラックパッド/マウスホイールのスクロールを親のスクロールビューに伝達(macOS専用、他のプラットフォームでは無視) | false | ブール値 |
showLoadingBar | ページの読み込み中にローディングバーを表示するかどうか | true | ブール値 |
注意・ヒント
注記
valueが空の場合は、コンテンツを何も読み込みません。typeに合わせてURL・アセットパス・HTML文字列を正確に入力してください。
ヒント
embedInParentScrollはmacOSでのみ動作します。スクロールビューの中にWebViewを入れるときに、トラックパッド/ホイールのスクロールが親に伝わるようにするもので、他のプラットフォームでは無視されます。
さらに詳しく
ヒント
このウィジェットをスクリプトで制御するWidget Control(Property・Method・Event)の全体は、WebView Widget Controlのドキュメントで確認してください。