如何让我的WKWebview浏览器在同一浏览器中打开链接,目前如果我点击一个链接,它不会做任何事情,只允许我在Safari中打开它。如何修复此问题,以便在单击链接时在同一WkWebView浏览器中打开该链接?
Import UIKit
import WebKit
class ViewController: UIViewController, WKNavigationDelegate {
@IBOutlet weak var webView: WKWebView!
//Web View
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "http://tweetdeck.twitter.com/")
let request = URLRequest(url: url!)
webView.load(request)
webView.navigationDelegate = self
}
请试用此代码,使用decdePolicyforWKNavigationDelegate方法
extension ViewController: WKNavigationDelegate {
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
if navigationAction.navigationType == .linkActivated {
guard let url = navigationAction.request.url else {
decisionHandler(.allow)
return
}
let components = URLComponents(url: url, resolvingAgainstBaseURL: false)
if components?.scheme == "http" || components?.scheme == "https"
{
UIApplication.shared.open(url)
decisionHandler(.cancel)
} else {
decisionHandler(.allow)
}
} else {
decisionHandler(.allow)
}
}}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。