uni-app web-view组件在nvue环境下具有iOS弹性滚动效果
uni-app web-view组件在nvue环境下具有iOS弹性滚动效果
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | win11 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
HBuilderX类型:Alpha
HBuilderX版本号:3.4.11
手机系统:iOS
手机系统版本号:iOS 15
手机厂商:苹果
手机机型:iPhone 13
页面类型:nvue
vue版本:vue2
打包方式:云端
项目创建方式:HBuilderX
### 操作步骤:
web-view组件在Nvue环境下,具有iOS的弹性滚动效果,导致了富文本解析区域具有区域滚动效果,与整体页面的滚动产生了冲突。测试此前hbuilder版本没有此问题,而且vue环境下没有问题 没有弹性滚动。
但是因项目原因,我们必须采用Nvue环境并且具有富文本文章区域,希望官方去掉该弹性滚动效果
### 预期结果:
希望官方去掉该弹性滚动效果
### 实际结果:
富文本解析区域具有区域滚动效果,与整体页面的滚动产生了冲突
### bug描述:
web-view组件在Nvue环境下,具有iOS的弹性滚动效果,导致了富文本解析区域具有区域滚动效果,与整体页面的滚动产生了冲突。测试此前hbuilder版本没有此问题,而且vue环境下没有问题 没有弹性滚动。
但是因项目原因,我们必须采用Nvue环境并且具有富文本文章区域,希望官方去掉该弹性滚动效果
更多关于uni-app web-view组件在nvue环境下具有iOS弹性滚动效果的实战教程也可以访问 https://www.itying.com/category-93-b0.html
顶一顶
求回答!
跪求回答
没人回答就只能一直顶一顶呢
社区没人了吗?
社区没人了吗?
????
?????
????
都死了吗?
????
看来社区的官方都没了?
????
???
web-view里面的内容有滑动回弹效果的话,我你可以在最外部直接用一个fixed定位定一下
你的意思是外面盖一层,让他无法滑动吗,那内部的超链接无法点击怎么办
不考虑内容点击的情况下可以先这样处理,web-view组件嵌套一层,里面增加一个view定位在web-view之上
<view class="web">
<web-view class=“webView” :style="{ height: viewHeight }" src="…/…/hybrid/html/body.html" @onPostMessage=“changeMessage”></web-view>
<view class="webViewMask"></view>
</view>
.webView {
width: 690rpx;
&Mask {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
}
}
可是我文章内部有图片可以点击放大,还有超链接点击后可以打开的啊。- -好难受啊
回复 9***@qq.com: 有代码吗我试试
回复 1***@qq.com: 大哥直接创建一个Nvue页面,然后引入https://ext.dcloud.net.cn/plugin?id=805插件,富文本html弄长一点,必须大于当前页面宽度,然后苹果滑动页面的时候如果手指是处于这个mp-html插件区域内,就会出现弹性滚动问题,安卓也会出现 回弹阴影。因为mp-html插件的Nvue版是使用的web-view的方式降级处理的。
是大于当前页面高度,说错了
老兄,问题解决了吗,求解决方案
怎么解决的啊朋友
换vue才行
在 uni-app
中,web-view
组件用于嵌入网页内容。在 nvue
环境下,web-view
组件的行为与在 vue
环境下有所不同,尤其是在 iOS 设备上。
iOS 弹性滚动效果
在 iOS 设备上,web-view
组件默认会具有弹性滚动效果(即页面内容滚动到顶部或底部时,会出现弹性回弹效果)。这种效果在 nvue
环境下同样存在。
控制弹性滚动效果
如果你想控制或禁用 iOS 设备上的弹性滚动效果,可以通过以下方式进行设置:
-
禁用弹性滚动效果
你可以在
web-view
组件中通过bounces
属性来控制是否启用弹性滚动效果。bounces
属性默认为true
,表示启用弹性滚动效果。你可以将其设置为false
来禁用弹性滚动效果。<template> <web-view :src="url" :bounces="false"></web-view> </template> <script> export default { data() { return { url: 'https://example.com' }; } }; </script>
-
通过 CSS 控制
你也可以通过 CSS 来控制
web-view
的滚动行为。例如,你可以使用overflow: hidden
来禁用滚动。<template> <view class="container"> <web-view :src="url" class="web-view"></web-view> </view> </template> <style> .container { width: 100%; height: 100%; overflow: hidden; } .web-view { width: 100%; height: 100%; } </style>