IOS UIWebView:如何向DOM事件添加监听器?

 茶香未散尽_385_312 发布于 2023-02-13 14:05

如何在UIWebView中添加侦听器到DOM事件?例如,对于以下html:


是否可以在IOS应用程序中为按钮单击事件注册一个侦听器,该应用程序在UIWebView中加载html?

1 个回答
  • 是的,您可以使用精心设计的url和UIWebViewDelegate方法执行此操作.

    首先,要在按钮标记上添加事件监听器,您应该像下面一样执行javascript(在加载页面之后)

    // In the UIWebViewDelegate
    - (void)webViewDidFinishLoad:(UIWebView *)webView {
        if (/* when the loaded url is the target */) {
            NSString *js = @"document.getElementById('button').click = function() { window.location = 'my-protocol://dummmy.com/maybe/some/data';}";
            [webView stringByEvaluatingJavaScriptFromString: js];
        }
    }
    

    我们在按钮上绑定一个click事件,当它被单击时,它将触发对webView的请求.

    接下来我们要做的是拦截请求并在ObjC中做你想做的事.

    // In the UIWebViewDelegate
    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
        if (/* when the url of the request is the crafted url */) {
            // call your objc method...
        }
    }
    

    2023-02-13 14:06 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有