gpt4 book ai didi

ios - Swift 避免网站的 cookies 警告

转载 作者:行者123 更新时间:2023-11-28 08:50:34 26 4
gpt4 key购买 nike

我有一个应用程序,用户可以在其中加载不同的 url。问题是每次用户加载 url 时,KINWebBrowser 都会显示恼人的 cookie 警告消息。有可能以任何方式自动接受这些 cookie 或删除这些消息吗?

最佳答案

您可以在网页加载后通过在网页上运行一些 Javascript 来删除不需要的元素。

KINWebBrowser 定义了一个 KINWebBrowserDelegate 协议(protocol),该协议(protocol)在页面加载时调用方法 didFinishLoadingURL,因此我们从那里运行 Javascript:

func removeClassFromWebpage(browser: KINWebBrowserViewController, className: String) {
let js = "var elements = document.getElementsByClassName('\(className)');" +
"while(elements.length > 0) { " +
" elements[0].parentNode.removeChild(elements[0]); " +
"} "

if (browser.uiWebView != nil) { // iOS <9 browser class
browser.uiWebView!.stringByEvaluatingJavaScriptFromString(js)
}
else if (browser.wkWebView != nil) { // iOS 9 browser class
browser.wkWebView!.evaluateJavaScript(js, completionHandler: nil)
}
}

func webBrowser(webBrowser: KINWebBrowserViewController!, didFinishLoadingURL URL: NSURL!) {
removeClassFromWebpage(browser: webBrowser, className: "cookiePolicy")
// Replace "cookiePolicy" with whatever the class name of the
// cookie popup is.
}

您必须在您的应用程序访问的网页源代码中进行一些调查,以确定 cookie 弹出窗口的类名是什么。

如果您想尝试删除所有 cookie 弹出窗口,AdBlock Plus 有一个典型的 cookie 弹出窗口类列表:http://www.kiboke-studio.hr/i-dont-care-about-cookies/abp/

您必须制作一个 cookie-popup 类列表,并循环遍历它,为每个类调用 removeClassFromWebpage

关于ios - Swift 避免网站的 cookies 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34345354/

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