我有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)

一旦初始化,就不能更改值,这就是您现在所做的。

10-07 18:55