宜信同城网交流论坛

 找回密码
 立即注册
开启左侧

Webview模块管理应用窗口界面,实现多窗口的逻辑控制管理操作(中) ...

[复制链接]
发表于 2023-2-16 18:54:39 | 显示全部楼层 |阅读模式 来自 LAN

getTitle

获取Webview窗口加载HTML页面的标题

 

说明:

标题为HTML页面head节点下title节点中的文本内容,当窗口内容发生页面内跳转时可通过窗口触发的“loaded”事件中调用此方法来获取跳转后页面的标题。 如果HTML页面没有使用title节点来设置标题,则返回空字符串。

参数:

返回值:

String : 窗口加载页面的标题

示例:

 

uni-app使用plus注意事项

getTitleNView

获取Webview窗口的标题栏控件对象

 

说明:

创建Webview窗口时设置其titleNView属性时则自动创建标题栏控件,应用首页可通过manfest.json中的plus->launchwebview->titleNView节点配置创建标题栏控件。 可通过此方法获取Webview窗口创建的标题栏控件,对象类型为plus.nativeObj.View,可通过调用其drawBitmap/drawRect/drawText方法绘制更新内容来实现自定义样式。

参数:

返回值:

plus.nativeObj.View : 原生View控件对象

示例:

 

uni-app使用plus注意事项

getTitleNViewSearchInputText

获取标题栏上输入框的内容

 

说明:

仅在窗口使用原生标题栏(titleNView)并配置显示搜索框(searchInput)时生效。

参数:

返回值:

String : 标题栏搜索框中输入的文本,如果没有配置显示搜索框则返回空字符串。

getURL

获取Webview窗口加载HTML页面的地址

 

说明:

当窗口内容发生页面内跳转时可通过窗口触发的“loaded”事件中调用此方法来获取跳转后页面的地址。

参数:

返回值:

String : 窗口加载页面的URL地址

平台支持:

  • Android - ALL (支持)
  • iOS - ALL (支持) :

    需要在页面loaded事件后才能获取最终的页面地址,在此之前获取的是当前加载的页面地址。

示例:

 

uni-app使用plus注意事项

hide

隐藏Webview窗口

 

说明:

隐藏Webview窗口可保存已加载HTML页面的上下文数据,能降低应用使用的系统资源,通过show方法可将隐藏的Webview窗口显示出来。

参数:

  • aniHide: AnimationTypeClose ) 可选 隐藏Webview窗口动画效果

    如果没有指定隐藏窗口动画,则使用默认动画效果“none”。

  • duration: ( Number ) 可选 隐藏Webview窗口的动画持续时间

    单位为ms,默认为窗口show方法设定的动画时间。

  • extras: WebviewExtraOptions ) 可选 隐藏Webview窗口扩展参数

    可用于指定Webview窗口动画是否使用图片加速。

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

hideTitleNViewButtonRedDot

隐藏标题栏上按钮的红点

 

说明:

仅在窗口使用原生标题栏(titleNView)时生效,未显示原生标题栏时操作此接口无任何效果。

参数:

options参数为json类型,包含以下属性:

  • index: ( Number ) 必选 按钮的索引值

    此值为WebviewTitleNViewButtonStyles的buttons属性中的数组索引值来操作对应的按钮,从0开始。

返回值:

void : 无

interceptTouchEvent

是否拦截Webview窗口的触屏事件

 

说明:

拦截后触屏事件不再传递,否则传递给View控件下的其它窗口处理。 Webview窗口默认拦截所有触屏事件。

参数:

  • intercept: ( Boolean ) 可选 是否拦截触屏事件

    true表示拦截触屏事件,false表示不拦截触屏事件(透传事件给其它窗口处理)。 默认值为true。

返回值:

void : 无

平台支持:

  • Android - 3.0+ (支持)
  • iOS - ALL (不支持)

示例:

 

uni-app使用plus注意事项

isHardwareAccelerated

查询Webview窗口是否开启硬件加速

 

说明:

如果Webview窗口已经开启硬件加速则返回true,否则返回false。

参数:

返回值:

Boolean : Webview窗口是否开启硬件加速

平台支持:

  • Android - 3.0+ (支持) :

    5+ Runtime会根据当前设备环境来决定是否开启硬件加速,也可通过WebviewStyles对象的hardwareAccelerated属性来强制设置是否开启硬件加速。

示例:

 

uni-app使用plus注意事项

isPause

查询Webview窗口是否暂停

 

说明:

如果Webview窗口已经暂停则返回true,否则返回false。

参数:

返回值:

Boolean : Webview窗口是否暂停

平台支持:

  • Android - ALL (支持)
  • iOS - ALL (不支持) :

    总是返回false。

isVisible

查询Webview窗口是否可见

 

说明:

若Webview窗口已经显示(调用过show方法,即使被其它窗口挡住了也认为已显示)则返回true,若Webview窗口被隐藏则返回false。

参数:

返回值:

Boolean : Webview窗口是否可见

示例:

 

uni-app使用plus注意事项

listenResourceLoading

监听页面开始加载资源

 

说明:

Webview加载资源时,如果满足options参数中定义的条件,则触发callback回调。 此方法仅触发回调事件,不会阻止资源的加载。

参数:

返回值:

void : 无

平台支持:

  • Android - ALL (支持) :

    5+APP需要选择“解压资源后运行”模式后才能监听加载资源。

  • iOS - ALL (不支持)

示例:

 

uni-app使用plus注意事项

loadData

加载新HTML数据

 

说明:

触发Webview窗口加载HTML页面数据,如果HTML数据无效将导致页面加载失败。

参数:

  • data: ( String ) 必选 要加载的HTML数据

  • options: WebviewLoadDataOptions ) 可选 加载HTML数据的配置参数

    如设置Base URL等。

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

loadURL

加载新URL页面

 

说明:

触发Webview窗口从新的URL地址加载页面,如果url地址无效将导致页面显示失败。

参数:

  • url: ( String ) 必选 要加载的页面URL地址

  • additionalHttpHeaders: ( Object ) 可选 窗口加载URL页面时额外添加的HTTP请求头数据

    仅对加载此次URL地址时有效。 如果HTTP请求头中已经包含需要额外添加的头数据,则添加的请求数据覆盖默认值。

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

nativeInstanceObject

获取Webview窗口对象的原生(Native.JS)实例对象

 

说明:

Android平台返回Webview窗口对象的android.webkit.Webview实例对象, iOS平台返回Webview窗口对象的UIWebview实例对象。

参数:

返回值:

InstanceObject : Webview窗口对象的原生(Native.JS)实例对象。

示例:

 

uni-app使用plus注意事项

opened

获取在当前Webview窗口中创建的所有窗口

 

说明:

返回从当前Webview中调用plus.webview.open或plus.webview.create创建的所有Webview窗口数组。

参数:

返回值:

Array[WebviewObject] : 此窗口创建的Webview窗口对象数组,没有则返回空数组。

示例:

 

uni-app使用plus注意事项

opener

获取当前Webview窗口的创建者

 

说明:

创建者为调用plus.webview.open或plus.webview.create方法创建当前窗口的Webview窗口。

参数:

返回值:

WebviewObject : 创建当前窗口的Webview窗口对象

示例:

 

uni-app使用plus注意事项

overrideResourceRequest

拦截Webview窗口的资源加载

 

说明:

根据区配规则拦截Webview窗口加载资源的URL地址,重定向到其它资源地址(暂仅支持本地地址)。 注意:多次调用overrideResourceRequest时仅以最后一次调用设置的参数值生效。

参数:

返回值:

void : 无

平台支持:

  • Android - ALL (支持) :

    5+APP需要选择“解压资源后运行”模式后才能截获应用资源的URL请求。

  • iOS - ALL (支持) :

    不限定拦截当前Webview窗口加载的资源,而是拦截应用中所有Webview窗口加载的资源。
    注意:WKWebview内核不支持拦截资源,HBuilderX2.3+开始默认调整使用WKWebview内核。

示例:

 

uni-app使用plus注意事项

overrideUrlLoading

拦截Webview窗口的URL请求

 

说明:

拦截URL请求后,Webview窗口将不会跳转到新的URL地址,此时将通过callback回调方法返回拦截的URL地址(可新开Webview窗口加载URL页面等)。 此方法只能拦截窗口的网络超链接跳转(包括调用loadURL方法触发的跳转),不可拦截页面请求资源请求(如加载css/js/png等资源的请求)。 注意:多次调用overrideUrlLoading时仅以最后一次调用设置的参数值生效。

参数:

返回值:

void : 无

平台支持:

  • Android - ALL (支持) :

    5+APP需要选择“解压资源后运行”模式后才能截获应用资源的URL请求。

  • iOS - ALL (支持)

示例:

 

uni-app使用plus注意事项

parent

获取当前Webview窗口的父窗口

 

说明:

Webview窗口作为子窗口添加(Webview.append)到其它Webview窗口中时有效,这时其它Webview窗口为父窗口。

参数:

返回值:

WebviewObject : 父Webview窗口对象,没有则返回null。

示例:

 

uni-app使用plus注意事项

pause

暂停当前Webview窗口

 

说明:

Webview窗口的js停止运行,页面内容不再更新渲染。 应用中存在多个Webview窗口时,可以停止不显示的Webview,减少对系统资源的占用。 注意:暂停后在窗口显示时需调用resume恢复。

参数:

返回值:

void : 无

平台支持:

  • Android - ALL (支持)
  • iOS - ALL (不支持)

reload

重新加载Webview窗口显示的HTML页面

 

说明:

触发Webview窗口重新加载当前显示的页面内容。 如果当前HTML页面未加载完则停止并重新加载,如果当前Webview窗口没有加载任何页面则无响应。

参数:

  • force: ( Boolean ) 必选 是否强制不使用缓存

    为加速HTML页面加载速度,默认在重新加载时会使用缓存,若force设置为true则不使用缓存,重新从URL地址加载所有页面内容。

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

resetBounce

重置Webview窗口的回弹位置

 

说明:

开启窗口回弹效果后,当窗口中展现的内容滚动到头(顶部或底部)时,再拖拽时窗口整体内容将跟随移动,松开后自动回弹到停靠位置。 这时需要调用此方法来重置窗口的回弹位置,窗口将采用动画方式回弹到其初始显示的位置。

参数:

返回值:

void : 无

平台支持:

  • Android - 2.2+ (支持)
  • iOS - ALL (不支持)

示例:

 

uni-app使用plus注意事项

restore

恢复Webview控件显示内容

 

说明:

恢复调用animate方法改变Webview控件的内容,更新至动画前显示的内容。

参数:

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

remove

移除子Webview窗口

 

说明:

从当前Webview窗口移除指定的子Webview窗口,若指定的webview对象不是当前窗口的子窗口则无任何作用。 移除后子Webview窗口不会关闭,需要调用其close方法才能真正关闭并销毁。

参数:

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

removeEventListener

移除Webview窗口事件监听器

 

说明:

从Webview窗口移除通过addEventListener方法添加的事件监听器,若没有查找到对应的事件监听器,则无任何作用。

参数:

  • event: NWindowEvent ) 必选 要移除的事件类型

  • listener: EventCallback ) 必选 要移除监听函数对象

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

removeFromParent

从父窗口中移除

 

说明:

从所属的父Webview窗口移除,如果没有父窗口,则无任何作用。 从父窗口中移除后子Webview窗口不会关闭,需要调用其close方法才能真正关闭并销毁。

参数:

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

removeTitleNViewButtonBadge

移除标题栏上按钮的角标

 

说明:

仅在窗口使用原生标题栏(titleNView)时生效,未显示原生标题栏时操作此接口无任何效果。

参数:

options参数为json类型,包含以下属性:

  • index: ( Number ) 必选 按钮的索引值

    此值为WebviewTitleNViewButtonStyles的buttons属性中的数组索引值来操作对应的按钮,从0开始。

返回值:

void : 无

resume

恢复当前Webview窗口

 

说明:

Webview窗口暂停后,调用此方法恢复js运行及页面内容的更新渲染。

参数:

返回值:

void : 无

平台支持:

  • Android - ALL (支持)
  • iOS - ALL (不支持)

setBounce

设置Webview窗口的回弹效果

 

说明:

开启窗口回弹效果后,当窗口中展现的内容滚动到头(顶部或底部)时,再拖拽时窗口整体内容将跟随移动,松开后自动回弹到停靠位置(可通过style设置)。 拖拽窗口内容时页面显示Webview窗口的背景色,默认为透明,此时显示Webview下面的内容,利用这个特点可以实现自定下拉刷新特效。

参数:

  • style: WebviewBounceStyle ) 必选 Webview窗口回弹样式参数

    可设置窗口的回弹效果支持的方向,自动回弹后停靠的位置等参数。

返回值:

void : 无

平台支持:

  • Android - 2.2+ (支持)
  • iOS - ALL (不支持)

示例:

 

uni-app使用plus注意事项

setBlockNetworkImage

设置Webview窗口是否阻塞加载页面中使用的网络图片

 

参数:

  • block: ( Boolean ) 必选 是否阻塞加载网络图片

    true表示不加载页面中使用的网络图片,false表示加载也页面中使用的网络图片。

返回值:

void : 无

平台支持:

  • Android - 2.2+ (支持)
  • iOS - ALL (不支持)

示例:

 

uni-app使用plus注意事项

setContentVisible

设置HTML内容是否可见

 

说明:

设置HTML内容不可见后,将显示Webview窗口的背景色。

参数:

  • visible: ( Boolean ) 必选 设置页面是否可见,true表示可见,false表示不可见

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

setCssFile

设置预加载的CSS文件

 

说明:

预加载CSS文件不需要在HTML页面中显式引用,在Webview窗口加载HTML页面时自动加载,在页面跳转时也会自动加载。 设置新的CSS文件后将清空之前设置的值(包括调用setCssText设置的值)。

参数:

  • file: ( String ) 必选 预载入的CSS文件地址,仅支持本地文件,格式为相对路径URL(plus.io.RelativeURL),如"_www/preload.css"

返回值:

void : 无

平台支持:

  • Android - ALL (支持) :

    如果Webview加载的html页面中存在网络css资源请求,将会把要加载的CSS文件添加到第一个请求css资源(url以“.css”结尾)后面。 否则在页面加载完毕后自动注入JS添加style节点引用要加载的CSS文件。

  • iOS - ALL (支持) :

    iOS7及以上版本在Webvew加载的html页面自动添加style节点引用要加载的CSS文件。 iOS7以前的版本在页面加载完毕后自动注入JS添加style节点引用要加载的CSS文件。

示例:

 

uni-app使用plus注意事项

setCssText

设置预加载的CSS内容

 

说明:

预加载CSS内容不需要在HTML页面中显式引用,在Webview窗口加载HTML页面时自动加载,在页面跳转时也会自动加载。 设置新的CSS内容后将清空之前设置的值(包括调用setCssFile设置的值)。

参数:

  • text: ( String ) 必选 预载入的CSS内容,必须符合CSS语法格式,如"body{background:red;}"

返回值:

void : 无

平台支持:

  • Android - ALL (支持) :

    如果Webview加载的html页面中存在网络css资源请求,将会把要加载的CSS内容添加到第一个请求css资源(url以“.css”结尾)后面。 否则在页面加载完毕后自动注入JS添加style节点引用要加载的CSS内容。

  • iOS - ALL (支持) :

    iOS7及以上版本在Webvew加载的html页面自动添加style节点引用要加载的CSS内容。 iOS7以前的版本在页面加载完毕后自动注入JS添加style节点引用要加载的CSS内容。

示例:

 

uni-app使用plus注意事项

setFavoriteOptions

设置Webview窗口的收藏参数

 

说明:

仅在流应用环境(流应用/5+浏览器)中有效:用户点击流应用环境的收藏按钮时使用的参数,如设置收藏页面标题,图标、页面地址等。

参数:

  • options: WebviewFavoriteOptions ) 必选 Webview窗口收藏参数

    可设置窗口的收藏标题,图标、页面地址等信息。

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

setFixBottom

设置Webview窗口底部修复区域高度

 

说明:

如果Webview加载页面中存在底部停靠区域(如“蘑菇街”WAP页面的底部Tab栏),在页面滚动时动态改变Webview高度可能会出现底部停靠区域抖动的现象(如360浏览器中向上滑顶部标题栏自动消失引起Webview变高)。 此时可以调用此方法来指定底部停靠区域(通常是底部Tab栏)进行优化修复抖动效果,高度值为底部停靠区域的高度。

参数:

  • height: ( Number ) 必选 需要优化修复的区域高度

    单位为像素值。

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

setJsFile

设置预加载的JS文件

 

说明:

预加载JS文件不需要在HTML页面中显式引用,在Webview窗口加载HTML页面时自动加载,在页面跳转时也会自动加载。 设置新的JS文件后将清空之前设置的值。

参数:

  • file: ( String ) 必选 预载入的JS文件地址,仅支持本地文件,格式为相对路径URL(plus.io.RelativeURL),如"_www/preload.js"

返回值:

void : 无

示例:

 

uni-app使用plus注意事项

setPullToRefresh

设置Webview窗口的下拉刷新效果

 

说明:

开启Webview窗口的下拉刷新功能,显示窗口内置的下拉刷新控件样式。

参数:

  • style: WebviewPullToRefreshStyles ) 必选 Webview窗口下拉刷新样式参数

    可设置窗口内置的下拉刷新控件在各种状态显示的文字内容。

  • refreshCB: SuccessCallback ) 必选 Webview窗口下拉刷新事件回调

    用户操作窗口的下拉刷新触发窗口刷新事件时触发。

返回值:

void : 无

平台支持:

  • Android - 2.2+ (支持)
  • iOS - ALL (支持)

示例:

 

uni-app使用plus注意事项

宜信网交流论坛 - 版权声明 1、在发表言论时,请遵守当地法律法规。主题所有言论纯属个人意见,与本站立场无关。
2、本站所有主题由作者发表,作者享有帖子相关版权,其他单位或个人使用、转载或引用本文时必须征得作者同意并注明来源于宜信网
3、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。
4、帖子不遵守当地法律法规、广告、人身攻击等情况时,宜信网管理人员有权不事先通知发贴者而删除本文。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|宜信同城网交流论坛 ( 闽ICP备19021048号 )|站点地图

GMT+8, 2026-3-28 02:14 , Processed in 0.459399 second(s), 13 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表