将Cookie插入WKWebView

时间:2018-07-04 07:17:23

标签: swift cookies ios11 wkwebview

我的应用程序内部有一个webView,只能打开一个网站。我的问题是:当我想登录该网站的服务时,我必须插入一个cookie,该cookie可以通过参数为userpass的post方法获得,该方法以html和HTML格式接收整个网站的代码。我们的Cookie位于标题中。

我的问题是:解决这个奇怪任务的最佳解决方案是什么?

我尝试过的是例如:带有发帖请求的(response as html string)-> webView(response.allHeaderFiles)-> webView,但这并不是最佳解决方案,它并不能按预期工作。

1 个答案:

答案 0 :(得分:0)

 let controller = WKUserContentController()
    var source = "" 
    // Pass your cookie
    if let cookies = cookies {
      let cookieSource = cookies.map({"**Add your conditon if any**")
      source += cookieSource
    }
    controller.addUserScript(WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: false))

尝试一下。

WKUserScript 对象表示可以注入到网页中的脚本。

ForMainFrameOnly -一个布尔值,指示是否只应将脚本注入

借助 WKUserContentController ,您可以实现这一目标。