我有WKWebView应用程序,我想阻止它解析文本中的电话号码和链接,我设置
webView.configuration.dataDetectorTypes = [
WKDataDetectorTypes.address
];
在实际加载页面之前,但没有帮助,完整的代码看起来像
let url = URL(string: link)
var urlRequest = URLRequest(url: url!);
var UUID = String();
if ASIdentifierManager.shared().isAdvertisingTrackingEnabled {
UUID = ASIdentifierManager.shared().advertisingIdentifier.uuidString;
}
webView.customUserAgent = String(
format: "%@/%@ %@ EmbeddedBrowser DeviceUID: %@",
getAppName(),
getAppVersion(),
UIWebView().stringByEvaluatingJavaScript(from: "navigator.userAgent")!,
UUID
);
webView.configuration.dataDetectorTypes = [
WKDataDetectorTypes.address
];
webView.navigationDelegate = self;
webView.uiDelegate = self;
webView.stopLoading();
webView.load(urlRequest);
最佳答案
从docs开始:
WKWebViewConfiguration仅在首次初始化web视图时使用。创建web视图后,不能使用此类更改其配置。
你必须这样做:
let config = WKWebViewConfiguration()
config.dataDetectorTypes = [.address]
let webView = WKWebView(frame: .zero, configuration: config)
一旦初始化,就不能更改值,这就是您现在所做的。