从 UIWebview 迁移到 WKWebview

Posted

技术标签:

【中文标题】从 UIWebview 迁移到 WKWebview【英文标题】:Migrate from UIWebview to WKWebview 【发布时间】:2019-10-03 09:14:59 【问题描述】:

我需要从 UIWebView 迁移到 WKWebView 但我不能。有人知道吗?

importUIKit

class ViewController: UIViewController 

let URL:String = "https://google.com"

@IBOutlet weak var webView: UIWebView!

override func viewDidLoad() 
    super.viewDidLoad()
    let url = NSURL (string: URL);
    let requestObj = NSURLRequest(url: url! as URL);
    webView.loadRequest(requestObj as URLRequest);


override func didReceiveMemoryWarning() 
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.

【问题讨论】:

你有什么问题? 【参考方案1】:

您只需要更改,WKWebViewUIWebView 添加 import WebKit 并将您的 Outlet 的类名更改为 WKWebView,同时将 loadRequest 更改为 load

import UIKit
import WebKit



class ViewController: UIViewController 

 @IBOutlet weak var webView: WKWebView!

      let urlString: String = "https://google.com"

     override func viewDidLoad() 
         super.viewDidLoad()
         guard let url =  URL(string: urlString) else  return 
         let requestObj = URLRequest(url: url)
         webView.load(requestObj)
    

    override func didReceiveMemoryWarning() 
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    


【讨论】:

“NS”现在不需要了! @AshishKakkad 不是必需的,但编译器不会抱怨它;),无论如何,谢谢并且已修复【参考方案2】:

新的 API 将保持不变

wkWebView.load(URLRequest(url: url))

【讨论】:

以上是关于从 UIWebview 迁移到 WKWebview的主要内容,如果未能解决你的问题,请参考以下文章

UIWebView 迁移后,WKWebView 中显示的 PDF 中的链接不起作用

WKWebview 的 javascript 调用返回 nil

如何阻止外部资源加载WKWebView?

使用WKWebView替换UIWebView

无法使用 WKWebView 在 Safari 中打开外部链接

如何清除 UIWebView/WKWebView 的内容?