问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ios内嵌HTML5能实现事件监听吗

发布网友 发布时间:2022-04-23 01:39

我来回答

1个回答

热心网友 时间:2022-04-20 01:53

在iOS开发之Objective-C与HTML5交互操作 中我们可以通过stringByEvaluatingJavaScriptFromString 去实现在obj-C中获取到相关节点属性,添加javascript代码等功能。但是我们如何监听到javascript的响应事件呢。在MAC OS中有效的API去实现,但iPhone没有,但我们有一个技巧途径:
大概思路是:在JavaScript事件响应时,通过设置document.location,这会引发webview的一个delegate方法,从而实现发送通知的效果,即达到监听的目的。
1、在javascript与webView之间定一个协议约定:
myapp:myfunction:myparam1:myparam2
2、在javascript中添加代码:
document.location = "myapp:" + "myfunction:" + param1 + ":" + param2;

3、在webView的delegate方法webView:shouldStartLoadWithRequest:navigationType: 添加
- (BOOL)webView:(UIWebView *)webView2
shouldStartLoadWithRequest:(NSURLRequest *)request
navigationType:(UIWebViewNavigationType)navigationType {

NSString *requestString = [[request URL] absoluteString];
NSArray *components = [requestString componentsSeparatedByString:@":"];

if ([components count] > 1 &&
[(NSString *)[components objectAtIndex:0] isEqualToString:@"myapp"]) {
if([(NSString *)[components objectAtIndex:1] isEqualToString:@"myfunction"])
{

NSLog([components objectAtIndex:2]); // param1
NSLog([components objectAtIndex:3]); // param2
// Call your method in Objective-C method using the above...
}
return NO;
}

return YES; // Return YES to make sure regular navigation works as expected.
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
万宁到连云港龙洞优选线路推荐 烟台到南京多远多少公里:距离762公里 762km是多少公里 连云港自驾游到北京国子监路费多少 螃蟹横行霸道是被逼无奈 帝国时代3 第6关把莉丝的美国土著朋友带回附近的岛怎么完成?那个土著... 帝国时代3亚洲王朝那个大国怎么召唤土著部落 组装电脑论坛哪个好电脑组装论坛都有哪些 推荐哪个网站的笔记本电脑好笔记本电脑在哪里买比较好 电脑diy网上哪个靠谱有哪些可靠的电脑DIY网站 谁有QQ游戏里面的四国军旗透视器啊?要有用的! ios开发加载html页面,html的引用链接怎么写 qq游戏四国军棋作弊 IOS开发中HTML5到底需要多少种编码格式 QQ游戏四国军棋有人作弊吗? 学HTML5要学哪些课程 boss直聘可以屏蔽人吗?就是不让我看到某一家公司这样, 高分求QQ四国军棋刷分工具 qq四国军棋透视 使用html5 怎么开发一个动态网站? 四国军旗可以弄透视吗 四国军棋透视器 如何开发同时支持ios和Android的应用?html5 哪里有QQ四国军棋辅助程序? 怎么学好HTML5和CSS? 哪里有QQ游戏四国军棋的作弊器 ios开发 内嵌html5 怎么开发 急求四国军棋辅助 ios 嵌入html5 客户端需要怎么做 中游四国军棋透视器 qq四国军棋透视器 英语专四考试用时多久?几个小时? 为什么 HTML5 在 iOS 上很流畅,但在 Android 上却不尽如人意?_百度... 四国军棋作弊器 英语四级考试时间大概多长? 针对苹果手机默认浏览器而言,html5+css3制作页面需要注意哪些? iOS和html5初学者应该如何选择 哪位大佬可以解读一下专四的“各部分计权”是怎么算的吗? 英语专四现在总分多少?多少分合格? 2019英语专四考试用时多久?几个小时? 专四成绩多少算过 兜率天宫的介绍 2019专四考试时间安排表,专四考试题型流程,专四考试大纲,专四什么时候考,专四考试题型分AB卷吗 西湖醋鱼是一道最有杭州特色的杭州名菜,具体的步骤是什么? 专四成绩什么时候出来 西湖醋鱼的做法 2012年英语专四考试多长时间 兜率天宫有海吗 西湖醋鱼怎么做 专四和四级不一样吗?