ios - WKWebview:禁用交互和点击链接

标签 ios objective-c wkwebview

有没有办法禁用 webview 上的交互? 这样用户就不能比加载的 webview 更进一步?

编辑: 禁用 UserInteractions 不是解决方案,因为网站仍然必须是可滚动的。

最佳答案

实现WKNavigationDelegate协议(protocol):

@interface ViewController () <WKNavigationDelegate>

设置WKWebViewnavigationDelegate 属性:

self.wkWebView.navigationDelegate = self;

然后为您要限制的 URL 实现政策:

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {

    if ([navigationAction.request.URL.absoluteString containsString:@"somedomain.com/url/here"]) {
        decisionHandler(WKNavigationActionPolicyAllow);
    }
    else {
        decisionHandler(WKNavigationActionPolicyCancel);
    }
}

关于ios - WKWebview:禁用交互和点击链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43366947/

相关文章:

ios - 使用 PFQuery 的 containsAllObjectsInArray 导致错误

ios - 将 Nsurl 域名转换为我的国家/地区域名

ios - WKWebView 在 iOS 11 之前导致语法错误

ios - 即使 useWebKit 设置为 true 也使用 UIWebView 进行博览会

objective-c - 如何使用 GPS 确定位置?

javascript - 光标在 WKWebView 中的位置,在 iOS 中有一个可编辑的段落

ios - 将文件类型与我的iOS应用程序关联:文件无图像

iphone - 崩溃日志中我的应用名称旁边的 "jettisoned"表示什么?

objective-c - 如何知道哪些部分或行在 listnewcontroller 上显示或可见

objective-c - 在扩展名前为文件名添加后缀