在 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 的历史记录,这样如果用户返回历史记录(通过手势或通过调用 WKWebViewgoBack 函数的按钮),则 parentURL 将是显示出来。

想象一下,首先在 web 视图中加载 parentURL,然后点击一个指向 childURL 的链接。我希望这个(childURL 被显示,parentURL 在后面的历史中)成为我在WKWebView 中的初始状态。

我该怎么做?

【问题讨论】:

你试过用javascript修改历史吗? 【参考方案1】:

我建议:

    WKWebView 在开头显示您的childURL。 点击返回按钮时,WKWebViewparentURL 发出新请求。该按钮应该是原生 ios UIButton。点击返回按钮后,更改其操作以使WKWebView 不再请求parentURL。 如果返回按钮在 .html 中,请尝试与 javascript 交互。 如果还有其他问题,请与我联系。

如果您的网址不同.htmls,我认为按我说的做很简单。您的go back 实际上只是转到一个新网址。

【讨论】:

如果用户使用平移手势返回怎么办?你能拦截吗? @DjS 1. 先加载 parentURL。在func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) 加载childURL。 2. childURL 和 parentURL 都加载后。将 wkwebview 添加到您的屏幕。

以上是关于在 iOS 中 WKWebView 的后台历史显示带有父 URL 的子 URL的主要内容,如果未能解决你的问题,请参考以下文章

使WKWebView在后台保持不变,同时显示另一个视图

iOS WKWebView JS在后台应用程序时不更新属性修改

Xamarin iOS WKWebView 不显示谷歌recaptcha

Xamarin iOS WKWebView 显示 JavaScript 警报

swift iOS 11.2 WKWebView 不显示

iOS:当 WKWebView 获取运动传感器时显示一个白色方块