UIWebView全解
是iOS内置的浏览器控件,可以浏览网页、打开文档等
能够加载html/htm、pdf、docx、txt等格式的文件
系统自带的Safari浏览器就是通过UIWebView实现的
MIME的英文全称是“Multipurpose Internet Mail Extensions” 多用途互联网邮件扩展,是一个互联网标准,最早应用于电子邮件系统,后来应用到浏览器
服务器通过说明多媒体数据的MIME类型,告诉浏览器发送的多媒体数据的类型,从而让浏览器知道接收到的信息哪些是MP3文件,哪些是Shockwave文件等等
服务器将MIME标志符放入传送的数据中告诉浏览器使用哪种插件读取相关文件
MIME类型能包含视频、图像、文本、音频、应用程序等数据
怎样获取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];
}
<!-- lang: cpp -->
-(NSString *)mimeType:(NSString *)fileName
{
NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:nil ];
// NSURL *url = [[NSURL alloc] initWithString:path];
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
NSURLResponse *ressponse = nil ;
[NSURLConnection sendSynchronousRequest:request returningResponse:&ressponse error:nil];
return [ressponse MIMEType];
// NSURL url = [[NSBundle mainBundle] URLForResource:fileName withExtension:nil];
//
// // 2. request
// NSURLRequest request = [NSURLRequest requestWithURL:url];
//
// // 3. 同步连接
// NSURLResponse *response = nil;
//
// [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
//
// // 4. 获得mimetyp
// return response.MIMEType;
}
// 测试加载HTML字符串
NSString *html = @“Hello
Hello Itcast
“;
[_webView loadHTMLString:html baseURL:nil];
// 测试加载部分HTML字符串,不需要显示整个网页内容时,通常使用此方法
NSString *partHtml = @“
Hello Itcast
“;
[_webView loadHTMLString:partHtml baseURL:nil];
// 测试加载本地PDF,需要指定MIMETYPE
[webView loadData:[NSData dataWithContentsOfFile:dataPath] MIMEType:@“application/pdf” textEncodingName:@“UTF-8” baseURL:nil];
// 测试加载本地文本文件,需要指定MIMETYPE
[webView loadData:[NSData dataWithContentsOfFile:dataPath] MIMEType:@“text/plain” textEncodingName:@“UTF-8” baseURL:nil];
// 测试网络HTML文件,需要指定MIMETYPE
NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle]resourcePath] isDirectory:YES];
[_webView loadData:[NSData dataWithContentsOfFile:dataPath] MIMEType:@“text/html” textEncodingName:@“UTF-8” baseURL:baseURL];
说明:baseURL是基准URL,程序要用到其他资源的位置
// 网页开始加载的时候调用
(void)webViewDidStartLoad:(UIWebView *)webView
// 网页加载完成的时候调用
(void)webViewDidFinishLoad:(UIWebView *)webView
// 网页加载出错的时候调用
(void)webView:(UIWebView )webView didFailLoadWithError:(NSError )error
// 网页中的每一个请求都会被触发这个方法,返回NO代表不执行这个请求(常用于JS与iOS之间通讯)
(BOOL)webView:(UIWebView )webView shouldStartLoadWithRequest:(NSURLRequest )request navigationType:(UIWebViewNavigationType)navigationType
UIWebView全解的更多相关文章
- 易全解token获取
//易全解app string strClientID = "2016061711434943493606"; string str ...
- iOS 全局禁止横屏,但UIWebView 全屏播放视频,横屏,解决办法(任意页面横竖屏或禁止)
iOS 全局禁止横屏,但UIWebView 全屏播放视频,横屏,解决办法 时间 2015-07-14 20:59:00 博客园-原创精华区 原文 http://www.cnblogs.com/fe ...
- IOS-UITextField-全解
IOS-UITextField-全解 //初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame: ...
- 什么是JavaScript闭包终极全解之一——基础概念
本文转自:http://www.cnblogs.com/richaaaard/p/4755021.html 什么是JavaScript闭包终极全解之一——基础概念 “闭包是JavaScript的一大谜 ...
- Sql Server函数全解<五>之系统函数
原文:Sql Server函数全解<五>之系统函数 系统信息包括当前使用的数据库名称,主机名,系统错误消息以及用户名称等内容.使用SQL SERVER中的系统函数可以在需要的时候获取这些 ...
- Sql Server函数全解<四>日期和时间函数
原文:Sql Server函数全解<四>日期和时间函数 日期和时间函数主要用来处理日期和时间值,本篇主要介绍各种日期和时间函数的功能和用法,一般的日期函数除了使用date类型的参数外, ...
- 九度oj题目&吉大考研11年机试题全解
九度oj题目(吉大考研11年机试题全解) 吉大考研机试2011年题目: 题目一(jobdu1105:字符串的反码). http://ac.jobdu.com/problem.php?pid=11 ...
- js系列教程2-对象、构造函数、对象属性全解
全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算 ...
- js系列教程1-数组操作全解
全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算 ...
随机推荐
- KMP匹配 (1)
---恢复内容开始--- 字符串匹配是计算机的基本任务之一. 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串" ...
- java的try后面跟括号
例子: try (FileReader reader = new FileReader("data.txt")) { ... }catch (IOException io) { . ...
- 微信小程序开发之日期组件
一: wxml: <view class="navbarlift" style="background:#ffffff;padding:20rpx"> ...
- CLR via C# 第五章学习记录(更新中)
1.设置全局溢出检查,项目属性->生成->高级->检测运算上溢/下溢 2.局部使用溢出检测 Byte b = ; b = ));// 不检测溢出 checked// 检测溢出代码段 ...
- 51nod1107(逆序对数&归并排序)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1107 题意:中文题诶- 思路:通过题意可以发现对于两点p1(x ...
- 洛谷P2016 战略游戏
P2016 战略游戏 题目描述 Bob喜欢玩电脑游戏,特别是战略游戏.但是他经常无法找到快速玩过游戏的办法.现在他有个问题. 他要建立一个古城堡,城堡中的路形成一棵树.他要在这棵树的结点上放置最少数目 ...
- 剑指Offer的学习笔记(C#篇)-- 二进制中1的个数
题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 一 . 解题思路 新颖的解法,使得该题目运用到了二进制的位运算符.先了解一下位运算符! 此题便很好的发挥了位运算符& ...
- PJzhang:一站式跨境卖家网址导航Amz520.com
猫宁!!! 参考链接:http://www.guxiaobei.com/amz520-release.html www.amz520.com是一个跨境电商导航站点,汇集了大量的高效信息,做这个站点花费 ...
- 源码构建Apollo以及改造
1. 下载release版本 本次构建的是1.4.0的版本 2. 初始化数据库信息 数据库表信息 2.1 修改注册中心配置 初始化数据库表后,需要修改 ApolloConfigDB.ServerCon ...
- linux查看系统版本(适用于centos、ubutun,其他类型没有进行测试)
方法一:cat /etc/issue 或more /etc/issue root@salt-master:~# cat /etc/issueUbuntu 16.04.2 LTS \n \l 方法二:l ...