UIWebView中Html中用JS调用OC方法及OC执行JS代码

UIWebView中Html中用JS调用OC方法及OC执行JS代码object c 和 javascript 进行互相调用

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中用JS调用OC方法
        


8

">
        
[removed]
            
function openAlbum()
            
{
                
// 打开相册(openMyAlbum为OC中的方法)
                
[removed]
.href
= 'ios:
//openMyAlbum';
            
}
            
function openCamera()
            
{
                
// 打开相机(openMyCamera为OC中的方法)
                
[removed]
.href
= 'ios:
//openMyCamera';
            
}
        
[removed]
    
    
        

        

        

        


        
    
 
 
OC代码:
#import "ViewController.h"
 
@interface
ViewController
()
@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 没用3
6899 查看  •   Ho Ho 创建  •  2014-11-20 13:27:02

  • Html段的代码 少了一些 我补充下 可以直接用这个替代 原作者的 就可以了
    ?
    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
        
            


    8

    "/>
            
    HTML中用JS调用OC方法
        
    [removed]
            
    function openAlbum()
            
    {
                
    // 打开相册(openMyAlbum为OC中的方法)
                
    [removed]
    .href
    = 'ios:
    //openMyAlbum';
            
    }
            
    function openCamera()
            
    {
                
    // 打开相机(openMyCamera为OC中的方法)
                
    [removed]
    .href
    = 'ios:
    //openMyCamera';
            
    }
        
    [removed]
       
        
            

            

            

             
            


            

           
                
        

    Tag : UIWebView , JavaSript
    有用1 没用0
    Conquer-2014 创建 • 2015-02-11 15:24:09

  •  

     


     

    HTML中用JS调用OC方法 
    [removed] 
    function openAlbum() 

    // 打开相册(openMyAlbum为OC中的方法) 
    [removed].href = 'ios://openMyAlbum'; 

    function openCamera() 

    // 打开相机(openMyCamera为OC中的方法) 
    [removed].href = 'ios://openMyCamera'; 

    [removed] 
     
     

     


     
     

     


































    ?
    1
    code
    4
    会自动过滤一些脚步也是醉了

    有用0 没用0
    Conquer-2014 创建 • 2015-02-11 15:25:50

  • 这才是对的,
    ?
    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
     


    8

    "/>
         
    HTML中用JS调用OC方法
         
    [removed]
        
    function openAlbum()
            
    {
            
    // 打开相册(openMyAlbum为OC中的方法)
            
    [removed]
    .href
    = 'ios:
    //openMyAlbum';
            
    }
            
    function openCamera()
           
    {
               
            
    // 打开相机(openMyCamera为OC中的方法)
            
    [removed]
    .href
    = 'ios:
    //openMyCamera';
            
    }
            
    [removed]
           
        
          

          

            

       
           
           

           

             
           

             
        

    有用0 没用0
    Acer1800 创建 • 2015-03-02 15:41:02

  •  

     


     

    HTML中用JS调用OC方法 
    [removed] 
    function openAlbum() 

    // 打开相册(openMyAlbum为OC中的方法) 
    [removed].href = 'ios://openMyAlbum'; 

    function openCamera() 

    // 打开相机(openMyCamera为OC中的方法) 
    [removed].href = 'ios://openMyCamera'; 

    [removed] 
     
     

     

     

     
     
     
    代码写在这里,有些东西被自动改掉了。





































    ?
    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
     


    8

    "/>
         
    HTML中用JS调用OC方法
         
    [removed]
        
    function openAlbum()
            
    {
            
    // 打开相册(openMyAlbum为OC中的方法)
            
    [removed]
    .href
    = 'ios:
    //openMyAlbum';
            
    }
            
    function openCamera()
           
    {
               
            
    // 打开相机(openMyCamera为OC中的方法)
            
    [removed]
    .href
    = 'ios:
    //openMyCamera';
            
    }
            
    [removed]
           
        
          

          

            

       
           
           

           

             
           

             
        

    有用0 没用0
    Acer1800 创建 • 2015-03-02 15:42:26

  • ?
    1
    求联系方式,求test
    .html
    .谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211037.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午11:20
下一篇 2026年3月18日 下午11:20


相关推荐

  • CSS鼠标悬浮及其样式

    CSS鼠标悬浮及其样式hover鼠标悬浮的使用和定义用法示例选择鼠标指针浮动在其上的元素,并设置其样式:.box:hover{background-color:red;}定义和用法:hover选择器用于选择鼠标指针浮动在上面的元素。提示:hover选择器可用于所有元素:link选择器设置指向未被访问页面的链接的样式,:visited选择器用于设置指向已被访问的页面…

    2022年5月31日
    39
  • 星愿浏览器有什么优点_星愿浏览器插件

    星愿浏览器有什么优点_星愿浏览器插件目的:想基于浏览器进程抓包,但是想获得噪声相对小的数据,则找相对ChromeGoogle等主流browser更简单的浏览器;想使用Google的某个扩展程序,所以找基于Chrome内核的浏览器所以,我要找基于Chrome内核的简单浏览器最后找到了这几个符合条件的浏览器:星愿、百分cent、Vival、Brave星愿优点:星愿的主页面具有相当的自主性,可以自由拖动添加图标和更换背景、搜索框等。其主页有个搜索漫画的功能,好像在看漫画这一块做了一些页面优化。缺点:只能在它提供的星愿商店里下扩.

    2025年6月11日
    4
  • C++ byte数组/char数组 截取部分字节

    C++ byte数组/char数组 截取部分字节VS-C++系列:所有相关C++文章链接.VS-C#系列:所有相关C#文章链接.bat系列:所有相关bat文章链接.Keil系列:所有相关文章链接所有内容均以最小系统调试成功;逐步提供低分源码工程下载!保证每行代码都经过验证!如有疑惑,欢迎留言,看见即回;祝好__byDxg_LC序言:1、以上链接为方便整理查看资料用;伴随博文发布更新,如果有不正确处,感谢指正2、因本人能力有限若有不正确之处或者相关超链接失效,请于相关文章内提醒@博主;灰常感谢3、友情提醒1,勿要《一支烟

    2022年5月22日
    124
  • UE4选不中半透明物体_半透明物体有哪些

    UE4选不中半透明物体_半透明物体有哪些UE4开发时,会出现透明材质的物体显示不全的情况本文给出几种解决方式供各位参考

    2022年10月5日
    6
  • Pycharm自动导入模块小技巧「建议收藏」

    Pycharm自动导入模块小技巧「建议收藏」周末愉快!不知道大家周末写不写代码,哈哈,反正我已经加完班回来了,今天分享一个能提高编码效率的小技巧,可能你早就在用了,也可能像我一样刚学会,还是趁热跟大家分享一下。如果能把工具熟练运用,往往能达到事半功倍的效果,Pycharm是很多Python开发者的首选IDE,提供各种快捷键、重构功能、调试技巧等,Python是动态语言,对于自动导入模块没有静态语言那么方便,但有了Pycharm,还是…

    2022年8月27日
    6
  • ubuntu安装go语言_go语言web服务器

    ubuntu安装go语言_go语言web服务器来源:微信公众号「编程学习基地」文章目录简介下载go安装包环境配置添加环境变量第一个go语言程序go入门学习简介go语言是一种开源的、语法精简的静态编程语言,它的开源社区比较庞大,应用场景非常广范。可以用于系统监控、容器技术(Docker)、大数据、存储技术、分布式系统(HyperledgerFabric)、消息系统(Kafka客户端)、服务器管理、安全工具、Web工具等。这里介绍在Linux上安装并配置go。下载go安装包到GoLang中国,下载Go语言安装包。解压tar-xzv..

    2022年10月12日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号