iOS HTML5的JS交互
//webView与H5点击交互走的代理
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSURL * url = [request URL];
NSString * urlStr = url.absoluteString;
NSString * protocolPrefix = @"scheme";//和后台定义好的字符
[self H5Js:protocolPrefix url:urlStr];
return YES;
}
//数组分离参数 开始进行关键字提取以及相关操作
-(void)H5Js:(NSString *)protocolPrefix url:(NSString *)urlStr
{
if ([[urlStr lowercaseString]hasPrefix:protocolPrefix])
{
urlStr = [urlStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSArray * components = [urlStr componentsSeparatedByString:@":"];//以":"截取字符
NSArray * shareUrl = [urlStr componentsSeparatedByString:@"?"];
// NSLog(@"%@",components);
NSString * prefix = components[1];
if ([prefix isEqualToString:@"awardLogin"])
{
isReash = YES;
[self jumpLogin];
}
if ([prefix isEqualToString:@"awardBindMobile"])
{
//绑定手机
ModifyPhoneController * phone = [[ModifyPhoneController alloc]init];
phone.title=@"绑定手机";
[self.navigationController pushViewController:phone animated:YES];
}
if([prefix rangeOfString:@"awardShare"].location !=NSNotFound)
{
NSRange range1 = [urlStr rangeOfString:@"?"];//匹配得到的下标
// NSLog(@"rang:%@",NSStringFromRange(range));
NSString *rangeStr =[urlStr substringFromIndex:range1.location+1];
NSArray * parameter = [rangeStr componentsSeparatedByString:@"&"];
NSLog(@"%@",parameter);
[dic setObject:[parameter[1] componentsSeparatedByString:@"="][1] forKey:@"shareTitle"];
[dic setObject:[parameter[2] componentsSeparatedByString:@"="][1] forKey:@"shareContent"];
[dic setObject:[parameter[0] componentsSeparatedByString:@"="][1] forKey:@"shareImg"];
[dic setObject:[parameter[3] componentsSeparatedByString:@"="][1] forKey:@"shareUrl"];
NSRange range = [parameter[4] rangeOfString:@"="];//匹配得到的下标
NSLog(@"rang:%@",NSStringFromRange(range));
NSString *rangeStr1 =[parameter[4] substringFromIndex:range.location+1];
[dic setObject:rangeStr1 forKey:@"smsContent"];
[self share:nil];
}
}
}
//回调JS代码
NSString * str =[NSString stringWithFormat:@"lsf_login_callback(%@)",[User shareUser].userId];
//评论完后刷新html5 页面
[self.webView stringByEvaluatingJavaScriptFromString:str];
转载于:https://blog.51cto.com/9951038/1842724
iOS HTML5的JS交互相关推荐
- iOS WKWebView和JS交互的两种方式
2019独角兽企业重金招聘Python工程师标准>>> 本文介绍两种方式实现iOS WKWebView和JS交互 WKWebViewConfiguration注入WKScriptMe ...
- android和ios HybridApp的js交互
android的webview和js交互 https://github.com/chenhaifeng2016/AndroidWebview ios的uiwebview和js交互 https://gi ...
- iOS OC与JS交互(WebView监听事件)
在iOS应用的开发过程中,我们经常会使用到WebView,当我们对WebView进行操作的时候,有时会需要进行源生的操作.那么我记下来就与大家分享一下OC与JS交互. 首先先说第一种方法,并没有牵扯O ...
- iOS web与JS交互
webview 与 JS交互核心代码为: [webView stringByEvaluatingJavaScriptFromString:@"xxxxxxxxxx"]; 转载于:h ...
- xamarin ios html5 video.js 无法播放
//只启用某些域绕过 ATS 设置在 ios 的 Info.plist 中<key>NSAppTransportSecurity</key><dict><ke ...
- ios传值给js_深入剖析 iOS 与 JS 交互
前言 Web 页面中的 JS 与 iOS Native 如何交互是每个 iOS 猿必须掌握的技能.而说到 Native 与 JS 交互,就不得不提一嘴 Hybrid. Hybrid 的翻译结果并不是很 ...
- IOS开发 - UIWebView(用法全面介绍,含最全的JS交互)
前两天我写了一套关于JS与OC交互的三种方法的文章,但是发现自己对UIWebView理解的还是比较浅,一直认为只能简单的当一个webView来使用,具体很多细节都忽略,如果想看我之前UIWebView ...
- iOS与JS交互的4种方法
iOS与JS交互的方法: 1.拦截url(适用于UIWebView和WKWebView) 2.JavaScriptCore(只适用于UIWebView,iOS7+) 3.WKScriptMessage ...
- android ios web兼容,js与android iOS 交互兼容
js与android iOS 交互兼容 在Android与js交互方面还是要比iOS方便很多,而UIWebView只暴漏出- (BOOL)webView:(UIWebView *)webView sh ...
- ios webview html交互 卡死,iOS 之webview 的js交互(alert、confirm、prompt)弹窗造成界面卡死...
概述:当iOS客户端中webView 与js交互,在主线程执行js脚本时,而js脚本存在alert().confirm().prompt()这三种弹窗时会造成iOS界面卡死. 1.造成卡死时的代码如下 ...
最新文章
- 卡尔曼滤波器的特殊案例
- ELK不香了?企业级日志平台后起之秀 Graylog
- base64格式的图片上传阿里云
- Java并发编程(6):Runnable和Thread实现多线程的区别(含代码)
- WatchOS系统开发大全(4)-WatchApp生命周期
- 哈佛大学 CS50,全美最受欢迎的计算机课程!
- 使用Dundas控件在web应用上展现多维数据集(二)
- 通过指针获取输入的字符串
- 软件工程个人日报 2016/6/29
- 通过TCP/IP实现PC(客户端)远程控制开发板(服务器)上LED灯的实验
- 影视之观大秦帝国之裂变总结
- modelsim-SE仿真error问题
- MySQL基础教程【1】数据库简介
- 全卷积网络FCN与卷积神经网络CNN的区别
- Value cannot be null. (Parameter ‘connectionString‘)
- 通过js获取PHP设置的cookie(全实例讲解)
- java .net 加密解密,【汉字加密解密】一个16进制,可用于.net与java接口加密、解密...
- 如何关闭Microsoft Office正版增值计划?
- html用字符转换成表情,HTML表情符号
- 【C语言进阶17——程序环境和预处理】
热门文章
- Android Multimedia框架总结(三)MediaPlayer中创建到setDataSource过程
- Android中R文件的丢失问题以及aapt.exe停止工作如何解决
- python变量、运算符、要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入练习
- python-docx下载_python-docx
- junit 生成html报告,gradle – 如何为JUnit 5测试创建HTML报告?
- java cstring_Java CString類代碼示例
- python-gui-pyqt5的使用方法-2
- php检查是否支持openssl,swoole环境是否支持openssl
- note同步不及时 one_续航800仅卖23万,比亚迪唐DM为啥却卖不过理想ONE?
- JAVA主类包涵其他类,Java application中的主类需包含main方法,以下哪项是main方法的正确形参?( )...