• 网页 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.                 <id="name"></p>  
      30.             </div>  
      31.             <div data-role="collapsible">  
      32.                 <h3 onclick="getInfo('systemVersion')">systemVersion</h3>  
      33.                 <id="systemVersion"></p>  
      34.             </div>  
      35.         </div>  
      36.     </div>  
      37. </div>  
      38. </body>  
      39. </html>  
  • 相关阅读:
    Win8metro外包团队:专业承接Windows 8 metro应用外包,基于HTML5、Silverlight、.NET均可
    WPF性能优化经验总结和整理综合帖
    WPF外包—WPF案例分享—WPF实现的又一个阅读器MSDN Reader
    中国已成为亚太区企业首选的外包基地
    Acer北京维修站汇总(今天电脑坏了去维修,顺便分享一下)
    WPF外包公司——北京动点飞扬软件联系方式和官方博客地址
    微软首推msnNOW服务 网络社交化风暴愈演愈烈
    WPF外包就找北京动点飞扬软件:WPF 4.5探秘之三 Dispatcher的新方法
    微软发布Windows 8标志:彰显创新回归本源(图)
    中国软件产业发展全国数据对比
  • 原文地址:https://www.cnblogs.com/lhx2015/p/4663504.html
Copyright © 2020-2023  润新知