HarmonyOS 鸿蒙Next WebView.ScrollController 在用户触发了滚动,且在滚动未停止的时候调用了scrollTo,这个时候 scrollTo 会不生效,无法scrollTo 到预期的 offsetY 的地方
HarmonyOS 鸿蒙Next WebView.ScrollController 在用户触发了滚动,且在滚动未停止的时候调用了scrollTo,这个时候 scrollTo 会不生效,无法scrollTo 到预期的 offsetY 的地方 ScrollViewWebView.ScrollController 在用户触发了滚动,且在滚动未停止的时候调用了scrollTo,这个时候 scrollTo 会不生效,无法scrollTo 到预期的 offsetY 的地方
使用scroll嵌套web组件,使用scroll的scrollTo进行跳转:
import { webview } from '@kit.ArkWeb';
@Entry
@Component
struct WebComponent {
@State controller: webview.WebviewController = new webview.WebviewController();
private scrollerForScroll: Scroller = new Scroller()
build() {
Column() {
Button('跳转').onClick(()=>{
console.info('点击跳转scrollTo')
this.scrollerForScroll.scrollTo({ xOffset: 0, yOffset: 5000})
})
Scroll(this.scrollerForScroll){
Web({ src: 'https://consumer.huawei.com/cn/', controller: this.controller ,renderMode:RenderMode.SYNC_RENDER})
.layoutMode(WebLayoutMode.FIT_CONTENT)
.domStorageAccess(true)
.javaScriptAccess(true)
}
}
}
}
更多关于HarmonyOS 鸿蒙Next WebView.ScrollController 在用户触发了滚动,且在滚动未停止的时候调用了scrollTo,这个时候 scrollTo 会不生效,无法scrollTo 到预期的 offsetY 的地方的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙系统中,当使用WebView的ScrollController时,如果在用户已经触发滚动且滚动尚未停止的情况下调用scrollTo方法,确实可能出现scrollTo不生效的问题。这是因为WebView的滚动状态管理在滚动过程中可能会覆盖外部调用的scrollTo指令。
具体来说,WebView的滚动是由其内部的滚动机制控制的,当用户进行滚动操作时,这个机制会接管滚动行为,直到滚动完全停止。如果在这个期间外部代码尝试改变滚动位置(如调用scrollTo),由于内部滚动机制还在运行,这个改变可能会被忽略或覆盖。
然而,这些方法的有效性取决于具体的应用场景和WebView的实现细节。如果问题依旧没法解决请联系官网客服,官网地址是 。