【问题标题】:WKWebView must stop detecting phone numbersWKWebView 必须停止检测电话号码
【发布时间】:2018-08-31 06:46:36
【问题描述】:

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

【问题讨论】:

    标签: swift wkwebview wkwebviewconfiguration


    【解决方案1】:

    来自docs

    WKWebViewConfiguration 仅在首次初始化 Web 视图时使用。创建后,您无法使用此类更改 Web 视图的配置。

    你必须这样做:

    let config = WKWebViewConfiguration()
    config.dataDetectorTypes = [.address]
    let webView = WKWebView(frame: .zero, configuration: config)
    

    一旦初始化,您就无法更改这些值,这就是您现在正在做的事情。

    【讨论】:

      【解决方案2】:

      如果从那里初始化,Storyboard 中还有一个设置。使用属性检查器,然后使用 Data Detectors

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-24
        • 2012-05-03
        相关资源
        最近更新 更多