UIWebView加载的3种方式(建一个像样Safari的浏览器)

最后的法力图

一、原理介绍

HTTP
压缩可以大大提升浏览网站的速度,它的法则是,在客户端请求服务器对应资源后,从服务器端将资源文件收缩,再出口到客户端,由客户端的浏览器负责解压缩并浏览。相对于常见的浏览进程HTML
,CSS,Javascript , Text
,它可以省去40%左右的流量。更为主要的是,它可以对动态变化的,包罗CGI、PHP
, JSP , ASP , Servlet,SHTML等出口的网页也能展开压缩,压缩功效也很高。

一、UIWebView简介

二、Tomcat 配置

找到 tomcat server.xml文本里的

<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
              useBodyEncodingForURI="true"
              URIEncoding="UTF-8"
                />

改为:

<Connector port="80" protocol="HTTP/1.1"
                  connectionTimeout="20000"
                  redirectPort="8443"
                  useBodyEncodingForURI="true"
                  URIEncoding="UTF-8"
                  compression="on"
                  compressionMinSize="2048"
                  noCompressionUserAgents="gozilla,traviata"
                  compressableMimeType="text/html,text/xml,text/javascript,application/x-javascript,application/javascript,text/css,text/plain"
                    />
  • compression=”on” 打开压缩成效
  • compressionMinSize=”50″ 启用压缩的出口内容大小,默许为2KB
  • noCompressionUserAgents=”gozilla, traviata”
    对于以下的浏览器,不启用压缩
  • compressableMimeType=”text/html,text/xml,text/javascript,text/css,text/plain” 哪些资源类型要求减小
    重启 tomcat 即可

1、是iOS内置的浏览器控件,能够浏览网页、打开文档等

三、测试

2、可以加载html、pdf、docx、text等格式的文书

1. 外网环境

如果你有外网环境,可一贯借用第三方的工具举办检测:
http://tool.chinaz.com/Gzips/
此处给出的是站长之家的一个链接,直接在其中输入网址即可,会告知你是否启用
gzip,以及压缩率是有点。

3、系统自带的Safari浏览器就是经过UIWebView达成的

2. 内网环境

上述措施只适用于有外网环境的机械测试,即使是内网环境还有个容易的措施可以举办判断:

  • 第一打开自己的腹地网址。
  • 按 f12 打开浏览器的控制台(那里运用的是 webkit
    内核的浏览器),点击network栏,再刷新页面,点击最伊始的配备中装置要求gzip 的文件类型中的任意一个,出现下图中所示两点即为成功:

gzip

然则那个艺术不可以检测到 gzip 的压缩率。
笨一点的法子也有,点击这些面板中的Response,把其中内容复制到一个文书文件中,保存,看文件的高低,再相除。

沾满个人博客的对应博文地址:
http://lancelot\_lewis.coding.me/2016/05/17/tomcat/tomcat-gzip/

二、UIWebView加载内容的三种办法(再强调一下从服务器获取一些事物必须举行陈设)

1、loadRequest

  可以加载本地或服务器中的资源、网页

要害强调:(具体的代码体现)(自己创办一个@property(nonatomic,strong)UIWebView
*webView;设置浏览器范围)
华语转化为英文方法:(前边定义了一个字符串:)

NSString *string =
@”http://www.baidu.com.你好”;

 string = [string stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

重点:

/*假诺将一个网络连接的字符串转化成url对象
*假定当地的话NSURL拔取 NSURL *url = [NSURL
fileURLWithPath:string];
*
*借使将一个本土的路径转化为url对象
*比方是网络利用 NSURL *url = [NSURL
URLWithString:@”http://www.baidu.com“];

( 1) 加载一个网络连接

   NSString *string = @"http://www.baidu.com";//如果是中文需要转换成英文
   NSURL *url = [NSURL URLWithString:string];
   NSURLRequest *request = [NSURLRequest requestWithURL:url];
   [self.webView loadRequest:request];

(2) 加载本地文件(文档)

  NSString *string = [[NSBundle mainBundle]pathForResource:@"picture" ofType:@"jpg"];//如果是中文不需要转换,只有在网络上获取才进行转换成英文
  NSURL *url = [NSURL fileURLWithPath:string];
  NSURLRequest *request = [NSURLRequest requestWithURL:url];
  [self.webView loadRequest:request];

2、loadHTMLString:baseURL

   加载html代码 html学习网站 http://www.w3school.com.cn/html/index.asp

   参数:baseURL,相对地址可以在指定的baseURL中查找相关文件,一般赋值为nil

3、loadData:MIMEType:textEncodingName:baseURL

   可以加载本地或服务器中的文件、网页

   参数MIMEType:文件类型,告诉浏览器使用什么样的插件来加载数据 文件类型对照表http://tool.oschina.net/commons

三、webView导航方法

1、goBack 回退

2、goForward 前进

3、reload 重载

4、stopLoading 废除载入内容

四、常用属性

1、自动对页面举行缩放以适应显示器

  scalespageToFit

2、设定电话号码、网址、电子邮件和日期等文字变为链接文字

  dataDetectorTypes

五、代理方法

1、网页开始加载的时候调用

   - (void )webViewDidStartLoad:(UIWebView  *)webView

2、网页加载完成的时候调用

   - (void )webViewDidFinishLoad:(UIWebView  *)webView

3、网页加载错误的时候调用

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

六.指路我们做一个粗略的浏览器(我曾经办好放到GitHub)
(利用到了UISearchBar,UIWebView,UIToolbar,UIActivityIndicatorView)

成效:能够找寻百度,本地,以及断网状态下的有的弹出效果

功用图如下

四种特性变量做出来的

demo代码
密码: ar6p