首页 文章

检测用户何时单击UIWebView或WKWebView中加载的Webform

提问于
浏览
2

我想检测用户何时按下iOS webview中加载的HTML页面中的webform按钮(理想情况下使用WKWebView) . Is this possible? 若然, how

一般评论:

我知道WKWebView有一些限制,因此如果您知道一个与WKWebView一起使用的方法,请分享它 . 如果您知道一个与UIWebView一起使用的方法,请分享它,我可以使用它作为开始为我的基于WKWebView的应用程序找到解决方案 .

2 回答

  • 3

    要使用WKWebView执行此操作,您需要符合WKNavigationDelegate,并设置webView的 navigationDelegate .

    您可能正在寻找的方法是 - webView:decidePolicyForNavigationAction:decisionHandler: ,您可以在其中确定是否允许链接触摸 . 您可以从 navigationAction.request.URL 获取目标网址 .

    一个简单的例子:

    - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler
    {
        if ([navigationAction.request.URL.relativeString hasPrefix:kLocalContentPrefix])
        {
            // Show some local content
    
            // Don't let the webview load this URL.
            decisionHandler(WKNavigationActionPolicyCancel);
        }
        else
        {
            // Allow the webview to load this URL.
            decisionHandler(WKNavigationActionPolicyAllow);
        }
    }
    

    要在UIWebView中执行此操作,它几乎相同,只是您在UIWebViewDelegate中符合 -(BOOL)webView:shouldStartLoadWithRequest:navigationType: . 但我建议尽可能使用Webkit!

  • 0

    有一种解决方法,由Shazron在Objective-C中演示,这里将文件复制到/ tmp / www并从那里加载它们 .

相关问题