看起来 WKWebView 的 backForwardList
是只读的,但我见过人们用一些非常神奇的方法来解决这个问题。我需要想办法清除 WKWebView 的历史记录。任何想法我怎么会这样?到目前为止,我已经尝试了一些失败的技巧:
- 使用 keyValue:forKey 无效。
- 使用 C 指针
->
无效。
我见过人们谈论综合属性和扩展类,但我真的不知道它是如何工作的,也想不通。还有其他想法吗?
最佳答案
适用于 iOS8 ~ iOS11。
objective-C
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
[wek.backForwardList performSelector:NSSelectorFromString(@"_removeAllItems")];
#pragma clang diagnostic pop
swift 4
webView.backForwardList.perform(Selector(("_removeAllItems")))
!!!!注意!!!!此方法在 WebKit Open Resource 中声明,不是公共(public)方法。
关于ios - 如何清除 WKWebView 的 WKBackForwardList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46086691/