你需要從FirstWKWebViewController傳遞的URLRequest和WKWebViewConfiguretion到SecondWKWebViewController
請參考下實施
在FirstWKWebViewController保持全局變量
var firstURLRequest: URLRequest?
說你WKWebView是
firstWebView
修改代碼爲
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
switch navigationType{
case .linkClicked:
firstURLRequest = request //<---code add
self.performSegue(withIdentifier: "mySeque", sender:self)
return false
default:
return true
}
}
爲
var secondURLRequest: URLRequest?
var secondWebConfiguration: WKWebViewConfiguration?
然後在FirstWKWebViewController在SecondWKWebViewController創建兩個變量賽格瑞調用之前通過WebConfiguration和URLReqest
func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let segueIdentifier = segue.identifier {
switch segueIdentifier {
case "mySeque":
if let secondWKWebVC = segue.destination as? SecondWKWebViewController {
if nsurlreq != nil { secondWKWebVC.secondURLRequest = nsurlreq! as URLRequest }
secondWKWebVC.secondWebConfiguration = firstWebView.configuration
}
default:
return
}
}
}
然後在SecondWKWebViewController
guard let secondURLRequest = secondURLRequest else
{ fatalError("No secondURLRequest") }
guard let secondWebConfiguration = secondWebConfiguration else
{ fatalError("No webConfiguration") }
//WKWebView
seconWKWebView = WKWebView(frame: <yourValue>, configuration: secondWebConfiguration)