zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    microsoft visual studio 不能逐句执行?
    【转】字符编码笔记:ASCII,Unicode和UTF-8
    【PNG格式中文详解】
    PHP 下载网络图片
    Install MongoDB on Windows (Windows下安装MongoDB)
    S2SH商用后台权限系统第二讲
    S2SH商用后台权限系统第一讲
    linux 常用命令
    简单的angular表单验证指令
    angular随笔
  • 原文地址:https://www.cnblogs.com/Camier-myNiuer/p/3757794.html
Copyright © 2011-2022 走看看