简体   繁体   English

在 iOS 13 测试版上的 WKWebView 上滚动不起作用

[英]Scrolling not working on WKWebView on iOS 13 beta

I am loading custom HTML in a WKWebView, setting the property width=device-width in the viewport.我正在 WKWebView 中加载自定义 HTML,在视口中设置属性width=device-width This works perfectly in iOS 12, but gives a problem with scrolling with iOS 13 (beta 7).这在 iOS 12 中完美运行,但在使用 iOS 13(beta 7)滚动时会出现问题。

In particular, when width=device-width is used, it is not possible to scroll the webview, so part of the content is not visible.特别是使用width=device-width ,webview无法滚动,所以部分内容不可见。 It is only possible to do so if the user pinches to zoom, and then magically it starts to be possible to scroll (both horizontally and vertically).只有当用户捏合缩放时才可能这样做,然后神奇地开始可以滚动(水平和垂直)。

I didn't find anything in the documentation regarding changes to WKWebView (or even the scrollview) in iOS 13 that could justify this.我在文档中没有找到任何关于 iOS 13 中 WKWebView(甚至滚动视图)更改的内容可以证明这一点。 Am I missing something?我错过了什么吗? Or maybe this is a bug of iOS 13 / Xcode 11?或者这可能是 iOS 13 / Xcode 11 的错误?

I also encountered this problem because "overflow: hidden" was added to body's style.我也遇到了这个问题,因为“溢出:隐藏”被添加到正文的样式中。 I deleted "overflow: hidden", and that's all.我删除了“溢出:隐藏”,仅此而已。

In my case, after reading Insert CSS into loaded HTML in UIWebView / WKWebView I try this:就我而言,在阅读将CSS 插入 UIWebView / WKWebView 中加载的 HTML 后,我尝试了以下操作:

 func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
    insertCSSString(into: webView)
  }

 func insertCSSString(into webView: WKWebView) {
      let cssString = "body { overflow: scroll !important }"
      let jsString = "var style = document.createElement('style'); style.innerHTML = '\(cssString)'; document.head.appendChild(style);"
      webView.evaluateJavaScript(jsString, completionHandler: nil)
  }

Or this:或这个:

func insertCSSString(into webView: WKWebView) {
      let jsString = "document.querySelectorAll('*[style]').forEach(el => el.style.overflow = 'scroll');"
    webView.evaluateJavaScript(jsString, completionHandler: nil)
  }

maybe it's helpful.也许它有帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM