• 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/

  • 相关阅读:
    如何安全的创建线程池?
    【Java Proxy Pattern】Java的代理模式
    php全局变量/局部变量/静态变量
    php strstr()
    微信公众号开发(四):js-sdk的应用
    微信公众号平台开发(三):几大微信接口的调用
    php操作数据库
    微信公众号开发(一)--开发模式与编辑模式
    微信公众平台开发(二):交互与接口
    day6 字典的增减查删
  • 原文地址:https://www.cnblogs.com/Camier-myNiuer/p/3757794.html
Copyright © 2020-2023  润新知