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

IOS UIWebView:如何向DOM事件添加监听器?,第1张

概述如何在UIWebView中添加侦听器到DOM事件?例如,对于以下html: <button type="button" id="button1">Try it</button> 是否可以在IOS应用程序中为按钮单击事件注册一个侦听器,该应用程序在UIWebView中加载html? 是的,您可以使用精心设计的url和UIWebViewDelegate方法执行此 *** 作. 首先,要在按钮标记上添加事件监听 如何在UIWebVIEw中添加侦听器到DOM事件?例如,对于以下HTML:

<button type="button" ID="button1">Try it</button>

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

解决方法 是的,您可以使用精心设计的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...    }}
总结

以上是内存溢出为你收集整理的IOS UIWebView:如何向DOM事件添加监听器?全部内容,希望文章能够帮你解决IOS UIWebView:如何向DOM事件添加监听器?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1074783.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存