zoukankan      html  css  js  c++  java
  • 在HTML中调用iOS

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
    </head>
    
    <body>
      
      <button style="120px; height = 60px;" onclick="getImage();">插入图片</button>
      
      <script>
          function getImage(){
              // 生成接口(在OC在截取接口)
              window.location.href = 'lf://getImage';
          }
      </script>
      
    </body>
    </html>
    #import "ViewController.h"
    
    @interface ViewController ()<UIWebViewDelegate>
    
    @property (nonatomic , strong) UIWebView *webView;
    @property (nonatomic , copy) NSString *isIncreaseImg;
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // 初始化webView
        self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height)];
        self.webView.delegate = self;
        [self.view addSubview:self.webView];
        
        // 加载本地网页
        NSURL *url = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"];
        NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
        [self.webView loadRequest:request];
    }
    
    
    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
        // 截取接口
        NSString *str = request.URL.absoluteString;
        NSRange range = [str rangeOfString:@"lf://"];
        // 如果发现接口,则执行相关操作
        if (range.location != NSNotFound) {
            [self htmlCallOC];
        }
        return YES;
    }
    
    #pragma mark -- 操作网页 --
    - (void)webViewDidFinishLoad:(UIWebView *)webView{
        // 插入图片
        if([self.isIncreaseImg isEqualToString:@"incareaseImage"]){
            NSString *str4 = @"var img = document.createElement('img');"
            "img.src = 'ply.png';"
            "document.body.appendChild(img);";
            [webView stringByEvaluatingJavaScriptFromString:str4];
            self.isIncreaseImg = @"imageIsInceased";
        }else{
            NSLog(@"%@",self.isIncreaseImg);
        }
    }
    
    #pragma mark -- 执行相关操作 --
    - (void)htmlCallOC{
        NSLog(@"HTML成功调用OC");
        if (self.isIncreaseImg ==nil) {
            self.isIncreaseImg = @"incareaseImage";
        }
        [self webViewDidFinishLoad:self.webView];
    }
    
    
    
    @end
  • 相关阅读:
    autocomplete="off" 不起作用
    IE8兼容模式设置
    H5学习
    wampserver安装配置
    HTML5音乐播放器(最新升级改造加强版)
    HTML5+CSS3+jquery实现简单的音乐播放器
    jquery+css3实现3d滚动旋转
    HTML5游戏设计与开发 小白7-9月的动态
    jquery submit()不执行
    html5手机常见问题与工具分享
  • 原文地址:https://www.cnblogs.com/lantu1989/p/5960345.html
Copyright © 2011-2022 走看看