从 webView goBack 后 PDF 不加载
Posted
技术标签:
【中文标题】从 webView goBack 后 PDF 不加载【英文标题】:PDF does not load after goBack from webView 【发布时间】:2017-09-15 08:08:53 【问题描述】:我目前正在使用 webView 显示 pdf。在这个 pdf 中,我有到其他网站的超链接。
问题是,当我转到其中一个网站并在那里滚动一点时,当我单击后退按钮(调用 webView.goBack()
)时,它会返回 pdf,跳到顶部并且可以不再滚动它,除了第一页之外什么都看不到,所以它也可能无法正确加载。
另外,如果我也这样做,请访问该网站,但根本不要在那里滚动,或者根本不做任何事情。如果我点击后退按钮,它会带我回到 pdf 并且工作得很好。
那么对于这里可能出现的问题以及如何解决它有什么建议吗?
编辑:我还添加了一张图片来展示它的外观
【问题讨论】:
您的 webView 是否启用了 userInteraction 和滚动功能? 是的,我确实启用了它。在点击超链接之前它确实可以正常工作 【参考方案1】:我为此找到的解决方案是在委托方法中再次显示pdf时重新加载webView
点击导航栏后退按钮时:
fileprivate var shouldReloadWebView: Bool = false
@objc private func tappedBackButton(_ button: UIButton)
if webView.canGoBack
shouldReloadWebView = true
webView.goBack()
else
self.navigationController!.popViewController(animated: true)
在委托方法中:
func webViewDidFinishLoad(_ webView: UIWebView)
if shouldReloadWebView
shouldReloadWebView = false
webView.reload()
【讨论】:
以上是关于从 webView goBack 后 PDF 不加载的主要内容,如果未能解决你的问题,请参考以下文章
使用 Intent.ACTION_CREATE_DOCUMENT 选择文件后保存从 WebView 生成的 PDF 文件