Webview

Webview

92 人关注该话题

[ERROR] : Error: webview[test.html] does not exist at js/mui.min.js:6 Webview mui

MUI 五块钱的果汁 回复了问题 • 2 人关注 • 1 个回复 • 12 次浏览 • 37 分钟前

WebView控件 HTML5+ HBuilder Webview

HTML5+ 帅得被人砍 发起了问题 • 1 人关注 • 0 个回复 • 34 次浏览 • 6 小时前

我回来啦~ Vue titleNView Webview

流应用 秋天无风 回复了问题 • 6 人关注 • 5 个回复 • 334 次浏览 • 1 天前

appendPreloadJsFile 路径应该怎么写? Webview

5+ SDK gavin007 发起了问题 • 1 人关注 • 0 个回复 • 63 次浏览 • 3 天前

如何监听webview侧滑关闭,监听页面关闭的瞬间. Webview iOS 侧滑返回

HTML5+ 452278531@qq.com 回复了问题 • 4 人关注 • 3 个回复 • 386 次浏览 • 4 天前

webview的安全漏洞问题,CNVD权威发布 Webview

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

【报Bug】webview的plusrequire参数无效 Webview bug提交

HTML5+ 1492001478@qq.com 回复了问题 • 1 人关注 • 1 个回复 • 32 次浏览 • 2018-01-09 10:47

关于使用nview替代父子Webview 选项卡 Webview

MUI DCloud_heavensoft 回复了问题 • 2 人关注 • 1 个回复 • 81 次浏览 • 2018-01-07 06:22

选项卡工程如何在右上角弹出菜单 弹出菜单 Webview

MUI hackpro@163.com 发起了问题 • 1 人关注 • 0 个回复 • 41 次浏览 • 2018-01-06 19:02

更多...
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'); //静默关闭,不使用动画效果;
}
};
```
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);
}
})
```
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 plus h5+

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

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

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

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

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

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

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

浅谈hbuilder开发app后的优化 - (2)多webview?多div?选啥呢! div Webview 性能

HTML5+ 林志鸿Zion 发表了文章 • 2 个评论 • 2065 次浏览 • 2017-04-26 17:59

顶部选项卡div模式下,扫描二维码控件位置偏移问题解决(Webview方式) Webview HTML5+

HTML5+ skysowe 发表了文章 • 0 个评论 • 867 次浏览 • 2017-03-28 00:05

【示例】使用nativeView绘制窗口的导航栏 Webview nativeObj navigator

HTML5+ DCloud_客服_Trust 发表了文章 • 6 个评论 • 2236 次浏览 • 2017-03-27 18:48

【示例】webview模式选项卡实现按需加载 选项卡 Webview

HTML5+ DCloud_客服_Trust 发表了文章 • 16 个评论 • 1690 次浏览 • 2017-03-27 17:19

更多...