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
  • 相关阅读:
    qt setfixedsize以后怎么让窗口可正常resize
    总线操作使用工具
    DTK 获取活动色
    qt 设置背景色
    python_itchat模块登陆问题
    python_基础知识
    python_爬虫_str类型的html文本去标签
    工作__问题
    服务器_sshfs的安装、挂载、取消挂载
    python_爬虫_通过selenium获取人人网cookie值并模拟登陆个人界面
  • 原文地址:https://www.cnblogs.com/lantu1989/p/5960345.html
Copyright © 2011-2022 走看看