iOS HTML5的JS交互

 //webViewH5点击交互走的代理  

-(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];

[email protected]"绑定手机";

[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];

时间: 2024-11-05 05:23:33

iOS HTML5的JS交互的相关文章

iOS web与JS交互

webview 与 JS交互核心代码为: [webView stringByEvaluatingJavaScriptFromString:@"xxxxxxxxxx"];

iOS之与JS交互通信

随着苹果SDK的不断升级,越来越多的新特性增加了进来,本文主要讲述从iOS6至今,Native与JavaScript的交互方法 一.UIWebview && iframe && JavaScript  <=iOS6 iOS6原生没有提供js直接调用Objective-C的方式,只能通过UIWebView的UIWebViewDelegate协议 (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(

xamarin ios html5 video.js 无法播放

//只启用某些域绕过 ATS 设置在 ios 的 Info.plist 中<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads </key> <true/> </dict> 原文地址:https://www.cnblogs.com/canyuexingchen/p/9277524.html

iOS与Html5和JS之间的交互---学习笔记四

首先采用的框架是WebViewJavascriptBridge,采用这套框架可以方便的使iOS与JS交互 一. 流程图(主要介绍思路) 二.iOS端如何使用 首先导入#import "WebViewJavascriptBridge.h"文件 第一步:开启日志 // 开启日志,方便调试 [WebViewJavascriptBridge enableLogging]; 第二步:给ObjC与JS建立桥梁 // 给哪个webview建立JS与OjbC的沟通桥梁 self.bridge = [W

IOS Webview JS交互之事件拦截获取

最近项目中用到了webvVew,webView加载的网页中有两个按钮,要在app里面响应这两个按钮的点击事件,并接受JS传过来的参数. ios7 的时候,出来了一个新的类库叫JavaScriptCore.framework - (void)setupJsContent { //获取当前JS环境 _content = [_webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]; // 打印异

iOS UIWebView与JS(JavaScript)交互-----根据节点隐藏HTML中内容

在移动端(这里指iOS)开发中,我们免不了使用UIWebView与JS交互. 先简单了解一下JS,JavaScript是一种直译式的脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.广泛用于客户端,主要用来向HTML页面添加交互行为.它可以直接嵌入HTML页面,但写成单独的JS文件有利于结构和行为的分离.JS具有跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows.Linux.Mac.Andriod.iOS等).作为直译语言,它的弱点:安全性. -- 摘自

iOS JS 交互之利用系统JSContext实现 JS调用oc方法

ios js 交互分为两块: 1.oc调用js 这一块实现起来比较简单, 我的项目中加载的是本地的html,js,css,需要注意的是当你向工程中拖入这些文件时,选择如下操作,(拖入的文件夹是蓝色的,相对路径),不然css,js 的路径会存在问题 加载本地html: oc调用js:一句代码搞定 2.js 调用oc js调用oc又分为两种: 1.js端是直接调用方法 这里就要说到ios7才推出的一个新的api    JavaScriptCore,首先我们引入这个类,并初始化一个JSContext对

[IOS_HTML5]各种JS框架介绍--用HTML5/CSS3/JS开发Android/IOS应用

现在人人都想成为安卓/IOS应用开发工程师.其实,安卓/IOS应用可以用很多种语言来实现.由于我们前端开发工程师,对HTML5/CSS/JavaScript的网络编程已经相当熟悉了.所以,今天大家将会认识到一些利用前端语言来开发安卓/IOS应用的工具. 在文章的末尾,也介绍了使用JAVA.C#.Lua以及AS3来开发安卓应用的工具. 希望大家都能找到适合自己的开发工具!祝大家开发安卓/IOS应用一切顺利! PhoneGap 开发语言: HTML, CSS, JavaScript 开发工具: Ph

Ios开发之 -- js和ios的交互

==WebViewJavascriptBridge的介绍== #下载:https://github.com/marcuswestin/WebViewJavascriptBridge #关于WebViewJavascriptBridge的介绍:http://blog.csdn.net/yanghua_kobe/article/details/8209751 ==WebViewJavascriptBridge(在与现有的业务代码结合使用中)的小问题== *demo部分(  ExampleApp.ht