在HTML中调用iOS
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head> <body> <button style="width:120px; height = 60px;" onclick="getImage();">插入图片</button> <script>
function getImage(){
// 生成接口(在OC在截取接口)
window.location.href = 'lf://getImage';
}
</script> </body>
</html>
#import "ViewController.h" @interface ViewController ()<UIWebViewDelegate> @property (nonatomic , strong) UIWebView *webView;
@property (nonatomic , copy) NSString *isIncreaseImg; @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
// 初始化webView
self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(, , [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height)];
self.webView.delegate = self;
[self.view addSubview:self.webView]; // 加载本地网页
NSURL *url = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
[self.webView loadRequest:request];
} - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
// 截取接口
NSString *str = request.URL.absoluteString;
NSRange range = [str rangeOfString:@"lf://"];
// 如果发现接口,则执行相关操作
if (range.location != NSNotFound) {
[self htmlCallOC];
}
return YES;
} #pragma mark -- 操作网页 --
- (void)webViewDidFinishLoad:(UIWebView *)webView{
// 插入图片
if([self.isIncreaseImg isEqualToString:@"incareaseImage"]){
NSString *str4 = @"var img = document.createElement('img');"
"img.src = 'ply.png';"
"document.body.appendChild(img);";
[webView stringByEvaluatingJavaScriptFromString:str4];
self.isIncreaseImg = @"imageIsInceased";
}else{
NSLog(@"%@",self.isIncreaseImg);
}
} #pragma mark -- 执行相关操作 --
- (void)htmlCallOC{
NSLog(@"HTML成功调用OC");
if (self.isIncreaseImg ==nil) {
self.isIncreaseImg = @"incareaseImage";
}
[self webViewDidFinishLoad:self.webView];
} @end
在HTML中调用iOS的更多相关文章
- Titanium中调用ios组件时语言不是本地化的解决方法
用Titanium开发的ios应用中,当调用系统组件时,尽管手机已经设置了系统语言为中文,但那些组件的界面却仍为英文.比如调用iphone中的相册组件,其界面为: 那么怎么让它跟系统语言保持一致呢? ...
- IOS中调用系统的电话、短信、邮件、浏览功能
iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评 ...
- ios开发--网页中调用JS与JS注入
先将网页弄到iOS项目中: 网页内容如下, 仅供测试: <html> <head> <meta xmlns="http://www.w3.org/1999/xh ...
- 【iOS】网页中调用JS与JS注入
非常多应用为了节约成本,做出同一时候在Android与iOS上都能使用的界面,这时就要使用WebView来做.Android和IOS上都有WebView,做起来非常省事.当然这时就要考虑怎样在Andr ...
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话,iTunes,iBooks )
在网上找到了下在记录下来以后方便用 在程序中调用系统自带的应用,比如我进入程序的时候,希望直接调用safar来打开一个网页,下面是一个简单的使用:
- iOS 在object-c 中调用c文件 方法
1,新建c 头文件 lib.h 定义 c 函数 2,新建 c 实现文件,新建模板选中 c File lib.c 3,oc 中调用,引用 c 头文件 lib.h ok .搞定
- iOS:在OC中调用JS脚本
示例一:在webView中调用js脚本进行搜索 1.首先导入JavaScriptCore.framework这个框架 2.创建webView.设置代理.请求手机端百度 #import "Vi ...
- Unity3d调用iOS陀螺仪
How to write gyroscope controller with Unity3d http://blog.heyworks.com/how-to-write-gyroscope-contr ...
- Phonegap 之 iOS银联在线支付(js调用ios端银联支付控件)
Phonegap项目,做支付的时候,当把网站打包到ios或android端成app后,在app上通过wap调用银联在线存在一个问题: 就是当从银联支付成功后,再从服务器返回到app客户端就很难实现. ...
随机推荐
- 【转】TCP协议中的三次握手和四次挥手(图解)
http://blog.csdn.net/whuslei/article/details/6667471
- oracle sqlplus常用命令
登录到sqlplus sqlplus user/pwd@dbname 不登录使用 sqlplus /nolog 查看当前登录用户 show user; 更改用户密码 ALTER USER USER I ...
- LVS的DR模式配置
一.基本规划负载均衡调度器 192.168.1.104 默认网关 192.168.1.1 ip别名 192.168.1.233realserver1 192.168 ...
- BLE-NRF51822-实现简单扫描器
在sdk目录 XXX:\Keil_v5\ARM\Pack\NordicSemiconductor\nRF_Examples\9.0.0\ble_central 下有官方提供的主从连接的demo. 官 ...
- Cloudera Hadoop什么是CDH及CDH版本介绍
本文引用自:Cloudera Hadoop什么是CDH及CDH版本介绍http://www.aboutyun.com/thread-6788-1-1.html(出处: about云开发) 云技术新兴的 ...
- 【Android测试】【第三节】ADB——源码浅谈
◆版权声明:本文出自carter_dream的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4651724.html 前言 由于本人精力 ...
- setContentScaleFactor 设置图片的分辨率
float scale = [[UIScreenmainScreen] scale];//得到设备的分辨率 [imageView setContentScaleFactor:[[UIScreen ma ...
- Windows-005-显示隐藏文件
此文主要讲述如何设置 Win7 系统显示隐藏的文件.文件夹和驱动器,敬请亲们参阅.若有不足之处,敬请大神指正,不胜感激!详情如下: Win7 系统安装完成后,默认是不显示隐藏的文件.文件夹和驱动器的( ...
- 用css实现云状提示框
经常会用到云状提示框,如图: 基本框架是这样,以三角在左侧为例: <div class="container"> <div class="content ...
- ubuntu 12.04安装jdk1.8
转自http://blog.chinaunix.net/uid-26404477-id-3471246.html 在安装之前,系统没有任何jdk软件,也就是说在终端执行 java -version 将 ...