gpt4 book ai didi

ios - WKWebView 从 WKBackForwardList 中删除一项

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:01:08 24 4
gpt4 key购买 nike

我正在实现一个微型浏览器,因此我希望能够在我的 WebView 上前后导航。出于这些目的,我使用 WKWebView,但有时我需要显示错误 html 页面,并且我不希望将此页面存储在我的 WKBackForwardList 中。

有没有办法从 WKBackForwardList 中删除一项?我想这是一个非常普遍的问题,那么,我是否必须实现自己的历史功能?

最佳答案

现在很清楚 WKBackForwardList 是不可变的(例如,不能修改)。但是你可以通过搞乱本地网络服务器来实现这个结果。您创建一个错误页面,由本地网络服务器提供服务,并在出现错误时将其加载到 WebView 中。但是本地网络服务器的行为是它加载错误页面一次,所有其他请求(从返回和转发)将导致重定向到导致错误的页面。 BackFrowardList 不会按顺序存储重复的 URL 地址,因此该页面 URL 只会出现一次。看看Firefox iOS version implementation因为他们使用完全相同的技术。

在历史部分,如果您只想在一个 session 期间保留历史,您可以真正使用 BackForwardList 项。但是,如果您想在 session 之间保留历史记录(WKWebView 销毁),则必须创建自己的历史记录存储。

关于ios - WKWebView 从 WKBackForwardList 中删除一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29051461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com