createWebView
从HBuilderX 2.8.1及以上版本开始支持
创建指定viewId的WebView控件视图,在窗体左侧或右侧区域创建一个tab项。tab内容为webview,webview里可装载html页面,可以较灵活的渲染自定义的内容。
viewId需要在package.json文件内的配置扩展点views中声明。
完整的扩展视图流程参考 如何注册一个新的视图?
简介
参数说明
| 参数名称 | 参数类型 | 描述 |
|---|---|---|
| viewId | String | 视图Id,需要首先在配置扩展点views中声明。 |
| options | WebViewOptions | WebView属性 |
返回值
| 返回类型 | 描述 | |
|---|---|---|
| WebViewPanel | WebViewPanel | WebViewPanel属性 |
示例
let webviewPanel = hx.window.createWebView("viewId",{enableScripts:true});let webview = webviewPanel.webView;webview.html = `<script>hbuilderx.onDidReceiveMessage((msg)=>{});hbuilderx.postMessage({command: 'alert',text: 'HelloWorld'});</script><img src="xxxx">`;webview.postMessage({command:"test"});webview.onDidReceiveMessage((msg)=>{if(msg.command == 'alert'){hx.window.showInformationMessage(msg.text);}});
WebViewOptions
webview的配置项
属性列表
| 属性名 | 属性类型 | 描述 |
|---|---|---|
| enableScripts | Boolean | 是否启用JavaScript脚本支持 |
WebViewPanel
调用createWebView返回的WebViewPanel对象
属性列表
| 参数名称 | 参数类型 | 描述 |
|---|---|---|
| webView | WebView | WebView 关联的WebView对象 |
| dispose() | dispose方法 | 调用关闭该扩展视图 |
WebView
调用createWebView创建WebView对象
WebView属性列表
| 参数名称 | 参数类型 | 描述 |
|---|---|---|
| options | WebViewOptions | 调用createWebView创建WebView时传入的options参数 |
| html | String | WebView中要显示的html内容 |
onDidReceiveMessage
收到hbuilderx.postMessage发出的消息时调用回调函数。
参数说明
| 参数名称 | 参数类型 | 描述 |
|---|---|---|
| callback | Function | 响应收到消息的回调 |
返回值
| 返回类型 |
|---|
| 无 |
示例
webview.onDidReceiveMessage((message)=>{ console.log(message) });
postMessage(message: any): Thenable
在WebView中发送消息
参数说明
| 参数名称 | 参数类型 | 描述 |
|---|---|---|
| message | Any | 消息内容 |
返回值
| 返回类型 | 描述 |
|---|---|
| Thenable | Javascript异步延迟后执行 |
asWebviewUri
将本地资源转换成可在WebView中加载的uri。
参数说明
| 参数名称 | 参数类型 | 描述 |
|---|---|---|
| localResource | Uri | 统一资源访问符 |
返回值
| 返回类型 | 描述 |
|---|---|
| Uri | 可在WebView中加载的uri |
