Objective-C 通过Webview 与 JS互调

来源:互联网 发布:java游戏制作的书 编辑:程序博客网 时间:2024/06/07 04:00

一 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');" /> 
0 0