Webview

Webview

102 人关注该话题

webview窗口的显示事件怎么监听 Webview

HTML5+ 特洛伊 回复了问题 • 4 人关注 • 3 个回复 • 256 次浏览 • 19 小时前

如何让webview随着页面一起滚动,position:static无效 Webview

HTML5+ DCloud_heavensoft 回复了问题 • 2 人关注 • 5 个回复 • 119 次浏览 • 6 天前

如何获取plus.webview.currentWebview()下面的DOM相关属性 Webview

wap2app 泥土0号 回复了问题 • 2 人关注 • 2 个回复 • 155 次浏览 • 2018-06-12 16:42

wapapp微信支付redirect_url地址返回到服务器上的网页,如何再回到APP里的网页呢 Webview 微信支付

HTML5+ 回梦無痕 回复了问题 • 3 人关注 • 2 个回复 • 94 次浏览 • 2018-06-12 10:20

关于a标签下载文件及返回到上一个页面的问题 Webview HTML5+

HTML5+ DCloud_heavensoft 回复了问题 • 2 人关注 • 2 个回复 • 106 次浏览 • 2018-06-08 04:25

X

赞助DCloud可免广告,点此前往赞助页面

H5+ webview.drag()方法如何解决嵌套的父子webview拖动互相影响的问题? Webview drag HTML5+

HTML5+ 981673999@qq.com 回复了问题 • 1 人关注 • 2 个回复 • 183 次浏览 • 2018-06-06 19:04

getNavigationbar为什么会获取不到 Webview HelloH5

HTML5+ 875010064@qq.com 回复了问题 • 3 人关注 • 3 个回复 • 710 次浏览 • 2018-06-05 10:07

实测mui不支持flash player 希望官方能够给出一个解决方案 Webview

MUI DCloud_heavensoft 回复了问题 • 4 人关注 • 3 个回复 • 853 次浏览 • 2018-06-04 17:25

mui.openWindow 参数id的设置问题 Webview openWindow

HTML5+ DCloud_客服_Trust 回复了问题 • 1 人关注 • 1 个回复 • 129 次浏览 • 2018-05-30 18:15

mp4无法拦截 Webview

HTML5+ 大苏 发起了问题 • 1 人关注 • 0 个回复 • 68 次浏览 • 2018-05-30 13:45

subnview模式tab在手机游览器下能不能运行 Webview

HTML5+ 825914610@qq.com 发起了问题 • 1 人关注 • 0 个回复 • 58 次浏览 • 2018-05-28 16:40

更多...
0

赞同来自:

入口页不可close,如果不希望显示入口页,可以将其hide。

下面提供一个较为通用的解决方案
```
/**
* 清理webview
* @example 适用场景:登录注销后,关闭无用或历史webview;
* @param {Array} idL... 显示全部 »
入口页不可close,如果不希望显示入口页,可以将其hide。

下面提供一个较为通用的解决方案
```
/**
* 清理webview
* @example 适用场景:登录注销后,关闭无用或历史webview;
* @param {Array} idList 不被关闭的webview的id集合
*/
var clearWebview = function(idList) {
idList.push(plus.runtime.appid); //入口页不可销毁
var wvList = plus.webview.all();
for(var i = 0, len = wvList.length; i < len; i++) {
if(~idList.indexOf(wvList[i].id)) { //当前webview不需关闭
continue;
}
wvList[i].close('none'); //静默关闭,不使用动画效果;
}
};
```
1

赞同来自: DCloud_客服_Trust

此问题是因为Android5初期的一批设备的webview有bug而造成阶段性问题。目前此问题已过期。在在nview和UniApp的加持下,性能问题已得到解决。无需引入三方webkit内核。问题关闭。
之前的回复如下:
--------------------... 显示全部 »
此问题是因为Android5初期的一批设备的webview有bug而造成阶段性问题。目前此问题已过期。在在nview和UniApp的加持下,性能问题已得到解决。无需引入三方webkit内核。问题关闭。
之前的回复如下:
------------------------------------------------------------------------
虽然可以引入三方浏览器引擎,但对于我们而言,还是需要保证在os的webview下也没有问题。之后才会考虑引入三方引擎。
目前在android5上的问题,大部分已经解决,其他问题还在努力中。
至于低版本android上的问题,主要是浏览器兼容性问题,注意一下代码就可以避开。

在现有的webview上解决问题,是为了追求极致的大App开发商,他们不在意代码编写要多注意点什么,但非常在乎包的体积。引入三方引擎会增大数M的包体积,无法满足这些厂商的需求。比如目前360手机助手内置了5+ sdk,如果他们不会接受包体积变大数M;
而集成三方引擎比如crosswalk是为了图省事的开发者,比如很多toB的App,不那么在乎包体积,但希望开发方面快速。后记:crosswalk已经停止维护,intel已经放弃这个产品了,无需研究如何集成crosswalk了
0

赞同来自:

在打开选择器的时候控制上拉刷新禁止滚动,然后关闭的时候恢复滚动就可以。

上拉刷新下拉加载的启用禁止方法
```
mui('#pullrefresh').pullRefresh().setStopped(true); //暂时禁止滚动
mui('#pullre... 显示全部 »
在打开选择器的时候控制上拉刷新禁止滚动,然后关闭的时候恢复滚动就可以。

上拉刷新下拉加载的启用禁止方法
```
mui('#pullrefresh').pullRefresh().setStopped(true); //暂时禁止滚动
mui('#pullrefresh').pullRefresh().setStopped(false); //取消暂时禁止滚动

mui('#pullrefresh').pullRefresh().disablePullupToRefresh();//禁用上拉加载
mui('#pullrefresh').pullRefresh().enablePullupToRefresh();//启用上拉加载
```

下拉刷新与日期选择插件冲突的解决方案
例如:
```
mui('.mui-table-view').on('tap','li',function(){
var dtpicker = new mui.DtPicker({
"type": "time",
"customData": {
"h": [
{
value: "am",
text: "上午"
}, {
value: "pm",
text: "下午"
},
]
}
})
dtpicker.show(function(e) {
console.log(e);
})
// 暂时禁止滚动
mui('#pullrefresh').pullRefresh().setStopped(true);
})

mui('body').on('tap','.mui-backdrop',function(){
// 取消暂时禁止滚动
mui('#pullrefresh').pullRefresh().setStopped(false);
})
mui('body').on('tap','.mui-dtpicker-header',function(e){
var target = e.target;
if(target.tagName === 'BUTTON'){
// 取消暂时禁止滚动
mui('#pullrefresh').pullRefresh().setStopped(false);
}
})
```
0

赞同来自:

有的时候所有的webview并没有加载完你就执行了tab切换操作,所以会出现切换页面不同步的情况.
建议加上loading并监听每个webview的loaded事件,所有webview都加载完成再隐藏loading.
我是这么做的 一切正常
有的时候所有的webview并没有加载完你就执行了tab切换操作,所以会出现切换页面不同步的情况.
建议加上loading并监听每个webview的loaded事件,所有webview都加载完成再隐藏loading.
我是这么做的 一切正常
2

赞同来自: 五块钱的果汁 DCloud_客服_Trust

分析了一下原因,可能是因为iphone6上启动的时候加载了大小不正确的启动图片导致的。

目前问题已解决。使用launchImage,针对不同ios版本和显示参数设置好后就可以了。iphone6里的webview内容没有被放大的感觉了。

但是有一个问题就是5... 显示全部 »
分析了一下原因,可能是因为iphone6上启动的时候加载了大小不正确的启动图片导致的。

目前问题已解决。使用launchImage,针对不同ios版本和显示参数设置好后就可以了。iphone6里的webview内容没有被放大的感觉了。

但是有一个问题就是5+里有个view是slpash,其内加载的图片,没有根据设备取不同大小图片时间适配,在iphone6和iphone5,及iphone6p里会被拉伸变形
1

赞同来自: 3332842@qq.com

请参考5+的webview模块中,[对webviewObject设置style](http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewStyles),中的scalable属性,... 显示全部 »
请参考5+的webview模块中,[对webviewObject设置style](http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewStyles),中的scalable属性,并且结合meta标签中的属性来实现。
代码如下:
```javascript
<!doctype html>
<html>

<head>
<meta charset="UTF-8">
<title></title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=5,user-scalable=yes" />
<link href="../../css/mui.min.css" rel="stylesheet" />
</head>

<body>
<header class="mui-bar mui-bar-nav">
<h1 class="mui-title">标题</h1>
</header>
<div class="mui-content">
<ul class="mui-table-view">
<li class="mui-table-view-cell">
<a class="mui-navigate-right">
Item 1
</a>
</li>
<li class="mui-table-view-cell">
<a class="mui-navigate-right">
Item 2
</a>
</li>
<li class="mui-table-view-cell">
<a class="mui-navigate-right">
Item 3
</a>
</li>
</ul>
</div>
<script src="../../js/mui.min.js"></script>
<script type="text/javascript">
mui.init();
mui.plusReady(function() {
plus.webview.currentWebview().setStyle({
scalable: true
});
});
</script>
</body>

</html>
```
请注意meta标签中的minimum-scale=1,maximum-scale=5,user-scalable=yes三个参数的设置,来实现可缩放,以及缩放的范围。
0

赞同来自:

入口页面的id是应用的appid,真机调试的时候读取的是HBuilder基座的信息,值为HBuilder。
打包以后,就可以获取正确的id。

如果需要获取首页webview,可以使用相关的API。[获取应用首页WebviewObject窗口对象](http:... 显示全部 »
入口页面的id是应用的appid,真机调试的时候读取的是HBuilder基座的信息,值为HBuilder。
打包以后,就可以获取正确的id。

如果需要获取首页webview,可以使用相关的API。[获取应用首页WebviewObject窗口对象](http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.getLaunchWebview)
0

赞同来自:

问题1:
mui.css里面默认设置body,html的背景颜色为灰色,如果需要修改,可以用css覆盖修改。
动画设置,打开新webview的动画,可以自己调整,参考[相关的API](http://www.html5plus.org/doc/zh_cn/web... 显示全部 »
问题1:
mui.css里面默认设置body,html的背景颜色为灰色,如果需要修改,可以用css覆盖修改。
动画设置,打开新webview的动画,可以自己调整,参考[相关的API](http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.AnimationTypeShow)。

问题2:
依据你的描述,传参的形式可以理解为:A->B->C,也就是C需要接受A传递的参数。
按照例子所示,B里面可以拿到A中extras传递的参数。同理,B也可以以同样的道理,传递给C。
采用init中配置子页面的形式,可以将init放在plusready后执行,这样就可以先读取参数,再进行传递。
```
// B页面
mui.plusReady(function(){
var self = plus.webview.currentWebview(); //当前webview对象
var param = self.param; //A传递过来的额外的参数
mui.init({
subpages:[{
url: 'xxx',
id: 'id',
extras:{
param: param
}
}]
});
});
```

关于页面跳转的loading以及展示的时机,可以尝试这样做。
A页面,打开一个waiting。B页面(如果是父子页面,则是子页面C),监听当前webview的loaded事件,然后show当前的webview。
相关的API,参考[plus.webview部分](http://www.html5plus.org/doc/zh_cn/webview.html)。
1

赞同来自: 小资电脑

offset: '1px' 修改为 offset: '46px'
偏移量设置为header高度(45px) + 1
offset: '1px' 修改为 offset: '46px'
偏移量设置为header高度(45px) + 1
2

赞同来自: 503152150@qq.com yizhi

将onChange中的代码做部分调整即可。
```
var c = document.querySelector(".mui-control-item.mui-active");
if(c) {
c.classList.remove(&q... 显示全部 »
将onChange中的代码做部分调整即可。
```
var c = document.querySelector(".mui-control-item.mui-active");
if(c) {
c.classList.remove("mui-active");
}
var target = document.querySelector(".mui-scroll .mui-control-item:nth-child(" + (parseInt(obj.index) + 1) + ")");
target.classList.add("mui-active");
if(target.scrollIntoView) {
target.scrollIntoView();
}
```

关于scrollIntoView,参考相关api。[Element.scrollIntoView()](https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView)

感谢反馈,后面我们会补充上的。
1

赞同来自: jian652485051@163.com

需要自己监听下从前台切换至后台的事件,在回调中停止视频的播放。
[http://www.html5plus.org/doc/zh_cn/events.html](http://www.html5plus.org/doc/zh_cn/events.html)

... 显示全部 »
需要自己监听下从前台切换至后台的事件,在回调中停止视频的播放。
[http://www.html5plus.org/doc/zh_cn/events.html](http://www.html5plus.org/doc/zh_cn/events.html)

```
document.addEventListener('pause', function() {
var videoElem = document.querySelector('video');
videoElem.pause();
});
```
2

赞同来自: DCloud_客服_Trust 294600453@qq.com

最有效的办法就是不要访问恶意网页。
如果自己不作的话,那么恶意网页来源于网络劫持,有2种网络劫持可能性:
1. Webview直接load了远程url,但被运营商或路由器劫持了。避免这种劫持的方法是load的原生url设成https。
2. 本地的页面在wgt... 显示全部 »
最有效的办法就是不要访问恶意网页。
如果自己不作的话,那么恶意网页来源于网络劫持,有2种网络劫持可能性:
1. Webview直接load了远程url,但被运营商或路由器劫持了。避免这种劫持的方法是load的原生url设成https。
2. 本地的页面在wgt或wgtu更新时,被网络劫持注入恶意js。避免这种劫持的方法是下载更新包时也使用https。

另外由于5+的Webview的能力本来就高于普通Webview,凡是加载非自控网页时,应注意关闭Webview的运行plus的能力,在Webview style参数里有个plusrequire,可设置是否允许该Webview使用plus api。
更多...

Webview侧滑菜单 Webview 侧滑菜单

MUI 吴达米尔 发表了文章 • 0 个评论 • 186 次浏览 • 2018-04-26 15:10

mui填坑系列----上拉加载+横向列表(安卓ios兼容),双webview页面弹窗。 scroll Webview

MUI ECMA_boy 发表了文章 • 1 个评论 • 139 次浏览 • 2018-04-19 17:32

手机普通浏览器端webview模拟实现,可与app统一代码 html5plus HTML5+ 浏览器 mui Webview

MUI 菜鸡 发表了文章 • 4 个评论 • 666 次浏览 • 2018-04-16 14:22

setJsFile与appendJsFile的区别 Webview appendJsFile

HTML5+ 秋天无风 发表了文章 • 0 个评论 • 213 次浏览 • 2018-03-30 15:05

【分享】5+App的中View 分享 titleNView nativeObj nativeUI maps map Webview

HTML5+ DCloud_客服_Trust 发表了文章 • 5 个评论 • 429 次浏览 • 2018-01-22 12:41

X

赞助DCloud可免广告,点此前往赞助页面

【5+】Webview页面之间的数据交流 JavaScript 跨页通信 Webview 技术分享

HTML5+ NewsNing 发表了文章 • 6 个评论 • 417 次浏览 • 2018-01-18 11:25

新窗口&子页面 Webview plus h5+

HTML5+ 发表了文章 • 0 个评论 • 264 次浏览 • 2017-12-27 20:47

返回按键 选项卡 外部网站 打包 Webview html

HTML5+ IFuckYourUncle 发表了文章 • 2 个评论 • 1039 次浏览 • 2017-07-24 20:20

【示例】Barcod二维码扫描及其结果在webview中的信息的传递 Webview evalJS Barcode

HTML5+ DCloud_MUI_Neil 发表了文章 • 17 个评论 • 3601 次浏览 • 2017-06-22 13:58

【示例】内置浏览器titleNView版 icon titleNView 内置浏览器 浏览器 Webview HTML5+

HTML5+ DCloud_客服_Trust 发表了文章 • 16 个评论 • 4165 次浏览 • 2017-06-16 18:52

解决软键盘弹起,挤压webview的问题; mui Webview 弹出软键盘

HTML5+ 18771149353@163.com 发表了文章 • 2 个评论 • 1740 次浏览 • 2017-06-16 17:45

更多...