zoukankan      html  css  js  c++  java
  • iOS基础

    一、UIWebView简介

    iOS内置的浏览器控件,可以浏览网页、打开文档等

    能够加载html/htmpdfdocxtxt等格式的文件

    系统自带的Safari浏览器就是通过UIWebView实现的

    二、关于MIME type

    MIME的英文全称是“Multipurpose Internet Mail Extensions” 多用途互联网邮件扩展,是一个互联网标准,最早应用于电子邮件系统,后来应用到浏览器

    服务器通过说明多媒体数据的MIME类型,告诉浏览器发送的多媒体数据的类型,从而让浏览器知道接收到的信息哪些是MP3文件,哪些是Shockwave文件等等

    服务器将MIME标志符放入传送的数据中告诉浏览器使用哪种插件读取相关文件

    MIME类型能包含视频、图像、文本、音频、应用程序等数据

    三、获得本地文件的MIMEType

    // 获得本地文件的MIMEType

    - (NSString *)MIMEType:(NSString *)fileName

    {

        // 定义路径

          NSString *path = [[NSBundle mainBundle]pathForResource:fileName ofType:nil];

        // 定义URL

          NSURL *url = [NSURL fileURLWithPath:path];

        // 定义请求

          NSURLRequest *request = [NSURLRequest requestWithURL: url];

        // 定义响应

          NSURLResponse *response = nil;

        // 发送同步请求

        [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];

        NSLog(@"MIMEType is %@", [response MIMEType]);

        return [response MIMEType];

    }

    四、UIWebViewDelegate代理方法

    // 网页开始加载的时候调用

    - (void)webViewDidStartLoad:(UIWebView *)webView

    // 网页加载完成的时候调用

    - (void)webViewDidFinishLoad:(UIWebView *)webView

    // 网页加载出错的时候调用

    - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error

    // 网页中的每一个请求都会被触发这个方法,返回NO代表不执行这个请求(常用于JSiOS之间通讯)

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

    五、JSiOS之间的通信iOS调用JS代码

    // 获取当前页面的url

    NSString *url = [_webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];

    NSLog(@"url %@", url);

    // 获取当前页面的标题

    NSString *title = [_webView stringByEvaluatingJavaScriptFromString:@"document.title"];

    NSLog(@"title %@", title);

    // 提交表单

    [_webView stringByEvaluatingJavaScriptFromString:@"document.forms[0].submit(); "];

  • 相关阅读:
    全排列算法的全面解析
    排序算法系列:插入排序算法
    MySQL多表查询核心优化
    Python代码优化及技巧笔记(二)
    深入理解Lambda
    Unity游戏逻辑服务器实践
    Java设计模式——迭代器模式
    Java设计模式——原型模式
    insert 加的锁
    区间锁
  • 原文地址:https://www.cnblogs.com/monicaios/p/3525584.html
Copyright © 2011-2022 走看看