• ios开发:如何用js调用ios


    本文转载至 :http://blog.chinaunix.net/uid-29415710-id-4058564.html

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

      NSURL * url = [request URL];

      if ([[url scheme] isEqualToString:@"aaa"]) {

      NSArray * SeparatedArray = [[NSArray alloc]init];

      NSMutableArray *temp = [[NSMutableArray alloc] init];

      SeparatedArray = [[[url absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]componentsSeparatedByString:@","];

      [temp addObjectsFromArray:SeparatedArray];

      NSLog(@"code1__%@:",[[url absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]);

      NSLog(@"url__scheme %@",[url absoluteString]);

      self.taskDownloader = [[MultiTaskDownloader alloc] init];

      // taskDownloader.delegate = self;

      for (int i = 0; i < SeparatedArray.count-1; i++) {

      NSArray *fileNames = [[SeparatedArray objectAtIndex:i] componentsSeparatedByString:@"^"];

      NSString * fileName = [fileNames lastObject];

      NSLog(@"abc---%@",fileName);

      [temp replaceObjectAtIndex:i withObject:fileName];

      [taskDownloader addTaskUrl:[[[SeparatedArray objectAtIndex:SeparatedArray.count-1] stringByAppendingString: @"/Files/" ] stringByAppendingString:[fileName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];

      [taskDownloader addTaskFielName:fileName];

      NSLog(@"fileName--00-%ld",(long)SeparatedArray.count);

      }

      [taskDownloader start];

      return NO;

      }

      上面的是ios中的主要代码。就是拦截url。根据拦截到的内容。执行对应的判断。

      function loadURL(url) {

      var iFrame;

      iFrame = document.createElement("iframe");

      iFrame.setAttribute("src", url);

      iFrame.setAttribute("style", "display:none;");

      iFrame.setAttribute("height", "0px");

      iFrame.setAttribute("width", "0px");

      iFrame.setAttribute("frameborder", "0");

      document.body.appendChild(iFrame);

      // 发起请求后这个iFrame就没用了,所以把它从dom上移除掉

      iFrame.parentNode.removeChild(iFrame);

      iFrame = null;

      }

      之后就是怎么发送url了。很简单。自己看下上面的代码。想用的时候就这样:

      loadURL("aaaa:"));

      这样在ios那就可以拦截到aaaa了。

      然后。就是你在拦截之后的想要做的东西了。

      代码很简单。大家看看吧。另外,关于ios开发,建议新手多看看ios的api。一个简单的功能,不熟悉api的人就得费很大的劲去实现,而其实用api一句话就能解决。这样对api不熟悉就很容易走弯路。

         更多关于ios开发的信息,可查询天地会http://ios.9tech.cn/

  • 相关阅读:
    jqueryuidatepicker 可控制是否显示时分秒
    JQuery zTree v3.2和demo
    模拟网易163写的一个文本框触发效果
    不刷新页面,切换CSS文件
    Devs开源规则引擎介绍
    坑爹啊!!!win2003 x64企业版不支持tfs2010的源代码管理服务
    gui设计禁忌2.0读书笔记
    c#关于数据库自定义类型在存储过程中返回服务器端的问题
    vs2010 sp1在win2003不能安装的问题
    mysql真是不错!
  • 原文地址:https://www.cnblogs.com/Camier-myNiuer/p/3757794.html
Copyright © 2020-2023  润新知