JS与OC交互--简单使用
2024-10-19 06:23:50
直接上代码
.m文件
#import "ViewController.h" @interface ViewController () <UIWebViewDelegate>
@property (weak, nonatomic) IBOutlet UIWebView *webView;
@end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad]; //通过本地html文件加载网页
[self.webView loadRequest:[NSURLRequest
requestWithURL:[[NSBundle mainBundle]
URLForResource:@"test" withExtension:@"html"]]];
}
- (void)call{ //拨打电话
[[UIApplication sharedApplication]
openURL:[NSURL URLWithString:@"tel://10086"]];
}
//是否允许加载从webview获得的请求/*
*该方法可以实现js调用OC
*js和OC交互的第三框架可以使用:WebViewJavaScriptBridge
*/ - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
//获得html点击的链接
NSString *url = request.URL.absoluteString; //设置协议头
NSString *scheme = @"zc://"; //判断获得的链接前面是否包含设置头
if([url hasPrefix:scheme]){ //切割字符串
NSString *methodName =
[url substringFromIndex:scheme.length];
//调用打电话的方法 [self performSelector:NSSelectorFromString(methodName) withObject:nil];
return NO;
}else{
return YES;
}
}
html 文件
storyboard
运行结果
最新文章
- Apache限制某个目录下的PHP文件没有执行权限
- Javascript高级程序设计——执行环境与作用域
- C# DateTime时间格式转换为Unix时间戳格式
- [推荐]Zookeeper大型分布式系统的可靠协调系统知识介绍
- centos fastdfs 多服务器 多硬盘 多组 配置详解
- python函数基础以及函数参数简解
- Linqer工具
- XML解析之PULL
- JSONObject处理java.util.Date
- ARM处理器简介
- HTML5学习笔记四:html5结构
- C++ 中memset 勿要对类使用
- 【深度学习】目标检测算法总结(R-CNN、Fast R-CNN、Faster R-CNN、FPN、YOLO、SSD、RetinaNet)
- pthread 线程立即取消的两种方法
- 模拟获取post数据的方式
- Golang -- Signal处理
- Linux学习进阶示意图
- T-Pot平台cowrie蜜罐暴力破解探测及实现自动化邮件告警
- 列表与if语句的结合
- 01c语言基础
热门文章
- codeforces 672C - Recycling Bottles 贪心水题
- Struts2 Spring Hibernate Ajax Java总结(实时更新)
- centos ssh 免密码登录
- httpServer V1
- algorithm: heap sort in python 算法导论 堆排序
- Zend studio注册码
- 如何把匿名类型.GetType()返回的对象传进泛型里面[转]
- Hadoop项目开发环境搭建(Eclipse\MyEclipse + Maven)
- Java &; XML Tutorial
- MAX16054