在 iOS 中 WKWebView 的后台历史显示带有父 URL 的子 URL
Posted
技术标签:
【中文标题】在 iOS 中 WKWebView 的后台历史显示带有父 URL 的子 URL【英文标题】:Display a child URL with a parent URL in the back history of WKWebView in iOS 【发布时间】:2016-11-18 08:34:21 【问题描述】:我想显示一个新的WKWebView
实例,这样当前显示给用户的页面是childURL,但另一个URL,parentURL,在后面WKWebview 的历史记录,这样如果用户返回历史记录(通过手势或通过调用 WKWebView
的 goBack 函数的按钮),则 parentURL 将是显示出来。
想象一下,首先在 web 视图中加载 parentURL,然后点击一个指向 childURL 的链接。我希望这个(childURL 被显示,parentURL 在后面的历史中)成为我在WKWebView
中的初始状态。
我该怎么做?
【问题讨论】:
你试过用javascript修改历史吗? 【参考方案1】:我建议:
WKWebView
在开头显示您的childURL
。
点击返回按钮时,WKWebView
向parentURL
发出新请求。该按钮应该是原生 ios UIButton。点击返回按钮后,更改其操作以使WKWebView
不再请求parentURL
。
如果返回按钮在 .html 中,请尝试与 javascript 交互。
如果还有其他问题,请与我联系。
如果您的网址不同.html
s,我认为按我说的做很简单。您的go back
实际上只是转到一个新网址。
【讨论】:
如果用户使用平移手势返回怎么办?你能拦截吗? @DjS 1. 先加载 parentURL。在func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!)
加载childURL。 2. childURL 和 parentURL 都加载后。将 wkwebview 添加到您的屏幕。以上是关于在 iOS 中 WKWebView 的后台历史显示带有父 URL 的子 URL的主要内容,如果未能解决你的问题,请参考以下文章
iOS WKWebView JS在后台应用程序时不更新属性修改
Xamarin iOS WKWebView 不显示谷歌recaptcha