UIWebView中Html中用JS调用OC方法及OC执行JS代码
来源:互联网 发布:彻底删除硬盘数据软件 编辑:程序博客网 时间:2024/04/18 17:39
UIWebView中Html中用JS调用OC方法及OC执行JS代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
HTML代码:
<html>
<head>
<title>HTML中用JS调用OC方法</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-
8
">
[removed]
function openAlbum()
{
// 打开相册(openMyAlbum为OC中的方法)
[removed]
.href
= 'ios:
//openMyAlbum';
}
function openCamera()
{
// 打开相机(openMyCamera为OC中的方法)
[removed]
.href
= 'ios:
//openMyCamera';
}
[removed]
</head>
<body>
<br/>
<br/>
<br/>
<input type="button" value="打开相机"> <br><br/>
<input type="button" value="打开相册">
</body>
</html>
OC代码:
#import "ViewController.h"
@interface
ViewController
()<UIWebViewDelegate>
@property
(weak,
nonatomic
)
IBOutlet
UIWebView
*webview;
- (
IBAction
)getTitle;
@end
@implementation
ViewController
- (
void
)viewDidLoad
{
[
super
viewDidLoad
];
NSURL
*url = [[
NSBundle
mainBundle
]
URLForResource
:
@"test.html"
withExtension
:nil
];
[
self
.webview
loadRequest
:[
NSURLRequest
requestWithURL
:url]];
self
.webview
.delegate
=
self
;
self
.webview
.dataDetectorTypes
=
UIDataDetectorTypeAll
;
}
#pragma mark UIWebViewDelegate方法
/**
*开始加重请求拦截
*/
-(
BOOL
)webView:(
UIWebView
*)webView
shouldStartLoadWithRequest
:(
NSURLRequest
*)request
navigationType
:(UIWebViewNavigationType)navigationType
{
NSString
*urlstr = request
.URL
.absoluteString
;
NSRange
range = [urlstr
rangeOfString
:
@"ios://"
];
if
(range
.length
!=
0
) {
NSString
*method = [urlstr
substringFromIndex
:(range
.location
+range
.length
)];
SEL
selctor = NSSelectorFromString(method);
[
self
performSelector
:selctor
withObject
:nil
];
}
return
YES
;
}
/**
* OC执行JS代码
*/
- (
IBAction
)getTitle {
[
self
.webview
stringByEvaluatingJavaScriptFromString
:
@"alert(document.title);"
];
}
-(
void
)openMyAlbum
{
UIImagePickerController
*vc = [[
UIImagePickerController
alloc
]init];
vc
.sourceType
=
UIImagePickerControllerSourceTypePhotoLibrary
;
[
self
presentViewController
:vc
animated
:
YES
completion
:nil
];
}
-(
void
)openMyCamera
{
UIImagePickerController
*vc = [[
UIImagePickerController
alloc
]init];
vc
.sourceType
=
UIImagePickerControllerSourceTypeCamera
;
[
self
presentViewController
:vc
animated
:
YES
completion
:nil
];
}
@end
0 0
- UIWebView中Html中用JS调用OC方法及OC执行JS代码
- UIWebView中Html中用JS调用OC方法及OC执行JS代码
- UIWebView中Html中用JS调用OC方法及OC执行JS代码
- UIWebView中Html中用JS调用OC方法及OC执行JS代码
- UIWebView中Html中用JS调用OC方法及OC执行JS代码
- UIWebView和网页的交互(JS中调用OC代码)
- Html中用js回调OC方法
- js调用OC代码
- UIWebView和网页的交互(OC中调执行JS)
- UIWebView js oc相互调用的三种方法
- oc调用js方法
- UIWebview中 js 的执行结果返回给OC ,js 回传OC
- iOS UIWebView中JS和OC互相调用
- OC中调用JS
- UIWebview JS和OC相互调用
- js调用oc代码 和 oc调用js代码
- OC里面UIWebView中js交互
- 利用JS 直接调用执行OC代码,非提取URL
- miniui中treegrid编辑后自动展开该行
- QT工程中使用图片的三种方法
- adb remount 失败:remount failed: Permission denied
- uiwebview与js交互
- eclipse4.4安装windowbuilder
- UIWebView中Html中用JS调用OC方法及OC执行JS代码
- 强制删除文件夹
- C++利用graphics.h的钟表程序
- 关于Java String, StringBuilder, StringBuffer, Hashtable, HashMap的面试题
- 使用ant打包Android应用
- poj 3928 树状数组
- hiwif插件开发学习
- NVIDIA Jetson TK1学习与开发(三):图文详解Jetson TK1平台搭建
- MFC 基于对话框 程序,如何添加状态栏