现在的位置: 首页 > 综合 > 正文

Objective-C 通过Webview 与 JS互调

2019年08月25日 ⁄ 综合 ⁄ 共 1166字 ⁄ 字号 评论关闭

一 objective-c调用js

  1. NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];  
  2. //注: webView是UIWebView实例  

 

二 js调用objective-c

1.obj-c部分

  1. - (void)viewDidLoad {  
  2.     [super viewDidLoad];  
  3.     self.myWebView.delegate=self;  
  4. }  
  5. //-------------------------------------------------  
  6. - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType   
  7. {  
  8.     //此url解析规则自己定义  
  9.     NSString* rurl=[[request URL] absoluteString];  
  10.     if ([rurl hasPrefix:@"protocol://"]) {  
  11.         UIAlertView* alert=[[UIAlertView alloc]initWithTitle:@"Called by JavaScript"   
  12.                                                      message:@"You've called iPhone provided control from javascript!!" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil];  
  13.         [alert show];  
  14.         [alert release];  
  15.         return false;  
  16.     }  
  17.           
  18.     return true;  
  19. }  

2. js部分

  1. function sendCommand(cmd,param){    
  2.     var url="protocol://"+cmd+":"+param;    
  3.     document.location = url;    
  4. }  

3.html部分

  1. <input type="button" value="call obj-c" onClick="sendCommand('act','param');" /> 

抱歉!评论已关闭.