Android: 使锚链接在 ScrollView 内的 WebView 中工作
Android: Make anchor links work in WebView inside ScrollView
我的 HTML 中有锚点 links(示例:<a href="#P12"/>
),我将其加载到 WebView 中,并且此 WebView 位于 NestedScrollView 中。当我暂时禁用 NestedScrollView 时,因为每个人都建议在锚点 links 无法正常工作时这样做,这些锚点 links 可以完美地工作。但是,由于多种原因,我的布局确实需要这个 NestedScrollView:
- 它有一个 CollapsingToolbarLayout 并且
app:layout_behavior="@string/appbar_scrolling_view_behavior
需要设置;
- WebView上下都有布局元素;
- 这些元素必须作为一个整体一起滚动。
预期的行为是单击锚 link 时内容跳转到网页的正确部分。实际行为是内容跳转到某个随机位置,您无法再滚动浏览整个页面(顶部或底部被截断)。
是否有可能使这些锚 link 在我的 WebView 内工作,该 WebView 位于 NestedScrollView 内?
在 Whosebug 上,我发现 one question 与此类似,但不幸的是它没有答案,而且是从 2017 年开始的,所以我非常怀疑有人会很快回答它。
因为当我偶然发现一个没有答案的问题时让我很沮丧,我会回答我自己的问题,这样其他人就会知道我是如何解决这个问题的。
坏消息是,这个特殊问题无法解决。至少,2021 年还没有。
我所在的公司和客户决定做的是改变这个屏幕的整个实现。整个屏幕现在是一个 WebView,而不仅仅是屏幕的一部分是 WebView。
我的 HTML 中有锚点 links(示例:<a href="#P12"/>
),我将其加载到 WebView 中,并且此 WebView 位于 NestedScrollView 中。当我暂时禁用 NestedScrollView 时,因为每个人都建议在锚点 links 无法正常工作时这样做,这些锚点 links 可以完美地工作。但是,由于多种原因,我的布局确实需要这个 NestedScrollView:
- 它有一个 CollapsingToolbarLayout 并且
app:layout_behavior="@string/appbar_scrolling_view_behavior
需要设置; - WebView上下都有布局元素;
- 这些元素必须作为一个整体一起滚动。
预期的行为是单击锚 link 时内容跳转到网页的正确部分。实际行为是内容跳转到某个随机位置,您无法再滚动浏览整个页面(顶部或底部被截断)。
是否有可能使这些锚 link 在我的 WebView 内工作,该 WebView 位于 NestedScrollView 内?
在 Whosebug 上,我发现 one question 与此类似,但不幸的是它没有答案,而且是从 2017 年开始的,所以我非常怀疑有人会很快回答它。
因为当我偶然发现一个没有答案的问题时让我很沮丧,我会回答我自己的问题,这样其他人就会知道我是如何解决这个问题的。
坏消息是,这个特殊问题无法解决。至少,2021 年还没有。
我所在的公司和客户决定做的是改变这个屏幕的整个实现。整个屏幕现在是一个 WebView,而不仅仅是屏幕的一部分是 WebView。