我目前正在构建一个使用 flutter 和 webview 的移动应用程序。当滚动到达 webview 中网站页面的行尾时,如何检测滚动?
我通过在 flutter 端添加这个脚本解决了这个问题
WebView(
initialUrl: "http://url.com/tos",
javascriptMode: JavascriptMode.unrestricted,
javascriptChannels: [
JavascriptChannel(
name: 'FLUTTER_CHANNEL',
onMessageReceived: (message) {
if (message.message.toString() ==
"end of scroll") {
setState((){
enableAgreeButton = true;
});
}
})
].toSet(),
gestureNavigationEnabled: true,
debuggingEnabled: true,
)
Run Code Online (Sandbox Code Playgroud)
这是 js 方面的
<script>
window.onscroll = function(ev) {
if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {
window.FLUTTER_CHANNEL.postMessage('end of scroll');
}
};
</script>
Run Code Online (Sandbox Code Playgroud)
感谢 nsNerino 和 Starscream 的见解
| 归档时间: |
|
| 查看次数: |
2689 次 |
| 最近记录: |