【问题标题】:How can I open redirected page in webview?如何在 webview 中打开重定向页面?
【发布时间】:2019-08-06 12:25:33
【问题描述】:

我在转换数据时遇到了一些问题。 我的代码如下:

let task = URLSession.shared.dataTask(with: request) { data, response, error in
                guard let data = data,
                    let response = response as? HTTPURLResponse,
                    error == nil else {
                        // check for fundamental networking error
                        print("error", error ?? "Unknown error")
                        return
                }

                guard (200 ... 299) ~= response.statusCode else {
                    // check for http errors
                    print("statusCode should be 2xx, but is \(response.statusCode)")
                    print("response = \(response)")
                    return
                }
                let responseString = String(data: data, encoding: .utf8)
                print("responseString = \(responseString ?? "")")
                DispatchQueue.main.async {
                    let webVC = WebViewController(urlString: responseString!)
                    self.navigationController?.pushViewController(webVC, animated: true)
                }

            } task.resume()

responseString 打印:“html 页面代码”

需要我将数据转换为 urlString 或类似于 url 的东西吗? 我该如何解决?感谢您的宝贵时间

【问题讨论】:

  • 你可以在webview中打开html,也可以使用framework解析html,看你需要什么

标签: swift xcode webview uiwebview swift5


【解决方案1】:

在 WKWebview 中加载 HTML 字符串(只需导入 WebKit)

let webView = WKWebView()
webView.loadHTMLString("<html><body><p>Hello!</p></body></html>", baseURL: nil)

在 UIWebview 中加载 HTML 字符串

let webView = UIWebView()
webView.loadHTMLString("<html><body><p>Hello!</p></body></html>", baseURL: nil)

如果这不是您想要的,请添加更多点以使您的问题易于理解,谢谢:)

【讨论】:

    【解决方案2】:

    您的“重定向”是什么意思?

    如果只是 302 HTTP 响应,请使用 WKWebView:https://developer.apple.com/documentation/webkit/wkwebview 而不是 URLSession

    如果您必须解析 URLSession 响应,您必须获取结果并与您的服务器端程序员讨论响应。 responseString prints: "html page code" 显然是错误的 URL

    【讨论】:

      猜你喜欢
      • 2016-02-20
      • 1970-01-01
      • 2017-08-08
      • 1970-01-01
      • 2019-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多