你的位置:首页 > 操作系统

[操作系统]网页 js


JS与iOS之间的通信,主要运用两个方法:(PhoneGap框架也是基于此原理)

1、UIWebView的  stringByEvaluatingJavaScriptFromString方法

2、UIWebViewDelegate的

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType方法

 

示例:

上部分是一个UIWebView,实现UIWebViewDelegate

 

 

  1. - (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.     NSString *path = [[NSBundle mainBundle] pathForResource:@"jm/info" ofType:@"html"];  
  5.     NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]];  
  6.     [self.webView loadRequest:request];  
  7. }  

 

 




  1. #pragma mark - UIWebViewDelegate  
  2.   
  3. - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType  
  4. {  
  5.     if([request.mainDocumentURL.relativePath isEqualToString:@"/getInfo/name"])  
  6.     {  
  7.         NSString *info = [[UIDevice currentDevice] name];  
  8.         NSString *js = [NSString stringWithFormat:@"showInfo(\"name\",\"%@\")",info];  
  9.         [self.webView stringByEvaluatingJavaScriptFromString:js];  
  10.         return false;  
  11.     }  
  12.     if([request.mainDocumentURL.relativePath isEqualToString:@"/getInfo/systemVersion"])  
  13.     {  
  14.         NSString *info = [[UIDevice currentDevice] systemVersion];  
  15.         NSString *js = [NSString stringWithFormat:@"showInfo(\"systemVersion\",\"%@\")",info];  
  16.         [self.webView stringByEvaluatingJavaScriptFromString:js];  
  17.         return false;  
  18.     }  
  19.     return true;  
  20. }  


JS代码:

    1. <!DOCTYPE html>  
    2. <html>  
    3. <head>  
    4. <title>city</title>  
    5. <meta charset="utf-8">  
    6. <meta name="viewport" content="width=device-width, initial-scale=1">  
    7. <link rel="stylesheet" href="jquery.mobile-1.0.css"/>  
    8. <script type="text/javascript" src="jquery.js"></script>  
    9. <script type="text/javascript" src="jquery.mobile-1.0.js"></script>  
    10. <script>  
    11. function getInfo(name)  
    12. {  
    13.     window.location = "/getInfo/"+name;  
    14. }  
    15.   
    16. function showInfo(id,info)  
    17. {  
    18.     $("p#"+id).html(info);  
    19. }  
    20. </script>  
    21. </head>  
    22. <body>  
    23. <div data-role="page">  
    24.     <div data-role="content">  
    25.         <h2>Divice Info</h2>  
    26.         <div data-role="collapsible-set" data-theme="c" data-content-theme="d">  
    27.             <div data-role="collapsible">  
    28.                 <h3 onclick="getInfo('name')">name</h3>  
    29.                 <p id="name"></p>  
    30.             </div>  
    31.             <div data-role="collapsible">  
    32.                 <h3 onclick="getInfo('systemVersion')">systemVersion</h3>  
    33.                 <p id="systemVersion"></p>  
    34.             </div>  
    35.         </div>  
    36.     </div>  
    37. </div>  
    38. </body>  
    39. </html>  




四川旅游必去的地方是四川旅游必去景点排名四川旅游地图线路大全深圳去贵州旅游报价跟团去贵州旅游多少钱2015英德风车节什么时候开始?清远英德风车节开始时间? 2015五一两江四湖门票价格?五一到桂林两江四湖门票多少钱? 桂林两江四湖三月三门票多少钱?两江四湖三月三门票价格? 两江四湖三月三有演出吗?桂林两江四湖三月三演出时间? 过完年 解腻的顶级素食摆上台[二] 2015三八节华南植物园女士门票免费吗?广州华南植物园三八妇女节门票价格? 三月花开 专家指点盐城市区绝佳赏梅处 “冬日暖阳 温情盐城”温馨盐城游 石家庄有什么好玩的地方呢?石家庄秋天去哪赏红叶? 天降长假哪里去 大悟观婀娜多姿乌桕 上海南京路好玩吗?上海南京路购物攻略 上海杜莎夫人蜡像馆怎么去?有哪些明星? 马尔代夫有哪些免税店?具体地址在哪里? 泰国手机卡怎么拨打国内手机? 马尔代夫要不要给小费?如何给小费? 泰国买什么便宜? IDT5V9885BPFGI Datasheet IDT5V9885BPFGI Datasheet IDT71V3558SA133BQG Datasheet IDT71V3558SA133BQG Datasheet IDT5V9885BPFGI8 Datasheet IDT5V9885BPFGI8 Datasheet 郑州到香港旅游价格 郑州到香港旅游价格 郑州到香港旅游价格 佳木斯跟团去港澳价格 佳木斯跟团去港澳价格 佳木斯跟团去港澳价格 包头到香港旅游团价格 包头到香港旅游团价格 包头到香港旅游团价格