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


    1.HTML页面

     1 <html>
     2 
     3     <head>
     4 
     5        <title>HTML中用JS调用OC方法</title>
     6 
     7         <meta http-equiv="Content-Type"content="text/html; charset=UTF-8">
     8 
     9        <script>
    10 
    11            function test()
    12 
    13             {
    14 
    15                 alert("test alert...");
    16 
    17                return "abcd";
    18 
    19             }
    20 
    21         </script>
    22 
    23     <body>
    24 
    25         
    26 
    27        <br/>
    28 
    29        <br/>
    30 
    31        <br/>
    32 
    33         <a href='ios://openMyAlbum'>打开相机</a><br><br/>
    34 
    35             
    36 
    37         <a href = 'ios://openMyCamera'>打开相册</a>
    38 
    39                 
    40 
    41     </body>
    42 
    43     
    44 
    45 </html>

    2.oc页面代码

      1     -(BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType  
      2       
      3     {  
      4           
      5           
      6           
      7         NSString  
      8           
      9         *urlstr = request.URL.absoluteString;  
     10           
     11         NSRange  
     12           
     13         range = [urlstr  
     14                  rangeOfString:@"ios://"];  
     15           
     16         if  
     17               
     18             (range.length!=0)  
     19         {  
     20               
     21             NSString  
     22               
     23             *method = [urlstr  
     24                        substringFromIndex:(range.location+range.length)];  
     25               
     26             SEL  
     27               
     28             selctor = NSSelectorFromString(method);  
     29               
     30             [self  
     31                
     32              performSelector:selctor  
     33                
     34              withObject:nil];  
     35               
     36         }  
     37           
     38         return  
     39           
     40         YES;  
     41           
     42     }  
     43       
     44       
     45       
     46     -(void)openMyAlbum  
     47       
     48     {  
     49           
     50         UIImagePickerController  
     51           
     52         *vc = [[UIImagePickerController  
     53                   
     54                 alloc]init];  
     55           
     56         vc.sourceType  
     57           
     58         = UIImagePickerControllerSourceTypePhotoLibrary;  
     59           
     60         [self  
     61            
     62          presentViewController:vc  
     63            
     64          animated:YES  
     65            
     66          completion:nil];  
     67           
     68     }  
     69       
     70       
     71       
     72     -(void)openMyCamera  
     73       
     74     {  
     75         [_webView stringByEvaluatingJavaScriptFromString:@"test();"];  
     76               
     77         return;  
     78           
     79         UIImagePickerController  
     80           
     81         *vc = [[UIImagePickerController  
     82                   
     83                 alloc]init];  
     84           
     85         vc.sourceType  
     86           
     87         = UIImagePickerControllerSourceTypeCamera;  
     88           
     89         [self  
     90            
     91          presentViewController:vc  
     92            
     93          animated:YES  
     94            
     95          completion:nil];  
     96           
     97     }  
     98       
     99       
    100     - (void)viewDidLoad {  
    101         [super viewDidLoad];  
    102           
    103           
    104         _webView = [[UIWebView alloc] initWithFrame:self.view.bounds];  
    105         [self.view addSubview:_webView];  
    106           
    107         NSString *path = [[NSBundle mainBundle] pathForResource:@"test.html" ofType:nil];  
    108           
    109         NSURL *url = [NSURL fileURLWithPath:path];  
    110         NSURLRequest *req = [[NSURLRequest alloc] initWithURL:url];  
    111           
    112         _webView.delegate   = self;  
    113         _webView.dataDetectorTypes  = UIDataDetectorTypeAll;  
    114           
    115         [_webView loadRequest:req];  
    116         // Do any additional setup after loading the view, typically from a nib.  
    117     } 
  • 相关阅读:
    [Qt] 事件机制(四)
    shell专题(六):条件判断
    最小生成树
    373. Find K Pairs with Smallest Sums
    gradle代理设置
    266. Palindrome Permutation
    53. Maximum Subarray
    378. Kth Smallest Element in a Sorted Matrix
    240. Search a 2D Matrix II
    74. Search a 2D Matrix
  • 原文地址:https://www.cnblogs.com/liaods/p/4801980.html
Copyright © 2020-2023  润新知