我有loadHTMLString
使用<a href="http://www.google.com">google</a>
从核心数据加载html内容。如果我在html内容中有html链接(例如shouldStartLoadWithRequest
)并单击此链接则不执行任何操作。绝对没有任何事情发生。
我尝试实施委托方法request.URL
,当我打印about:blank
的内容时,它会返回UIWebView
。
我试图设置webView.userInteractionEnabled = true
webView.dataDetectorTypes = UIDataDetectorTypes.All
border
有人知道会出现什么问题吗?
答案 0 :(得分:2)
在 Swift 4.2
您可以尝试使用以下代码,必须实现 UIWebViewDelegate
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebView.NavigationType) -> Bool {
if navigationType == .linkClicked {
if let url = request.url {
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
}
return false
}
return true
}
答案 1 :(得分:0)
请尝试使用以下代码。 实现UIWebview委托方法
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if(navigationType==UIWebViewNavigationTypeLinkClicked)
{
[[UIApplication sharedApplication]openURL:request.URL];
return NO;
}
return YES;
}