我在 Android WebView 中显示 Epub。为了使其水平滚动,我添加了这些 css 规则:
$("html").css("padding", 0);
$("html").css("margin", 0);
$("html").css("width", document.documentElement.clientWidth);
$("body").css("padding", 0);
$("body").css("margin", 0);
$("body").css("height", document.documentElement.clientHeight);
$("body").css("column-gap", 0);
$("body").css("column-width", document.documentElement.clientWidth);
这工作正常,但如果我开始使用滚动页面
window.scrollBy(document.documentElement.clientWidth, 0)
它总是在 xhtml 文件结束前 3 页停止工作。 window.scrollBy 和 window.scrollTo 停止工作,没有任何反应。 这是我测试过的所有 epub。什么都不管用。如果我使用 Android WebView#scrollTo(x,y) 滚动,它可以正常工作。但由于某些特殊要求,我需要使用 JavaScript 进行滚动。似乎是 JavScript 的滚动宽度不正确,但我不知道如何解决。非常感谢帮助
最佳答案
在页眉中设置视口(viewport)修复了这个问题
关于JavaScript scrollBy(x,y) 不适用于 Android WebView 中的样式列宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63917937/