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-容器和算 ...
随机推荐
- jvm学习五: 方法执行过程
方法执行过程:Java各个大版本更新提供的新特性(需要简单了解)
- stm32之复位与待机唤醒
一.复位 stm32复位有三种类型,分别为系统复位.电源复位和备份域复位. 其中系统复位又分为: NRST引脚低电平(外部复位) 窗口看门狗计数结束 独立看门狗计数结束 软件复位 低功耗管理复位 二. ...
- SSAS IIS 发布
http://www.cnblogs.com/zhangzt/p/4046259.html IIS7下配置SSAS通过HTTP远程连接 淘宝 问答 学院 博客 资源下载 高端培训 ...
- java——类的封装
public void setName(String str) { name=str; } public void setAge(int a) //set方法需要在括号中定义数据类型 { if(a&g ...
- 《Java多线程编程核心技术》读后感(十一)
方法join的使用 在很多情况下,主线程创建并启动子线程,如果子线程中要进行大量的耗时运算,主线程往往将早于子线程结束之前结束.这时,如果主线程想等待子线程执行完之后再结束,比如子线程处理一个数据,主 ...
- WP之样式
1.定义资源 <Window.Resources> <!--下面用样式--> <Style x:Key="BigFontButtonStyle"> ...
- MS SQL Server的LTRIM,RTRIM和TRIM函数
在MS SQL Server 2017有了一个新函数TRIM,整合以前版本LTRIM和RTRIM. 这几个函数都是去除字符串头部后尾部的空格. DECLARE @str NVARCHAR(MAX) = ...
- 访问WEB-INF下JSP资源的几种方式(转)
访问WEB-INF下JSP资源的几种方式 方法一: 本来WEB-INF中的jsp就是无法通过地址栏访问的,所以安全. 如果说你要访问这个文件夹中的jsp文件需要在项目的web.xml文件中去配置ser ...
- 转载-【深度学习】深入理解Batch Normalization批标准化
全文转载于郭耀华-[深度学习]深入理解Batch Normalization批标准化: 文章链接Batch Normalization: Accelerating Deep Network T ...
- poj3667(线段树区间合并&区间查询)
题目链接: http://poj.org/problem?id=3667 题意:第一行输入 n, m表示有 n 间房间(连成一排的), 接下来有 m 行输入, 对于接下来的 m 行输入: 1 x : ...