使用CocoaPods安装
pod 'JXBWebKit', '~> 1.0.2'
手动安装
拖动JXBWebKit
文件夹到你的项目。注意Copy
选项需要选择"Copy items into destination group's folder" "Create groups for any folders"
。
示例
打开JXBWebKitProject
执行项目。
使用方法
-
直接使用
JXBWebViewController
实例对象打开远程和本地的HTML
。 -
从
JXBWebViewController
派生出一个子类,使用该子类实例打开远程和本地的HTML
。 -
从
JXBWKWebViewPool
获取一个可复用的WebView
,使用该WebView
打开远程和本地的HTML
。
提供的功能
-
WebView
适配不同机型。 -
UI
支持(进度条、进度条颜色、back&close按钮)。 -
支持拦截URL。
-
通过
JSBridge
和Web
进行交互,满足任何场景的交互操作!比如: -
打开
native
任意页面。 -
获取
native
定位、推送、相册、相机等权限。 -
获取
native
数据。 -
调用
native
的任意API
。 -
其他。
-
对子类提供
WebView
父类的hook
操作。 -
支持
WKWebView
的复用,通过复用优化启动性能以及内存占用。 -
支持各种自定义浏览器的
UserAgent
。 -
支持拦截
WebView
的网络请求。 -
支持操作
Cookie
。 -
demo
中提供了让业务H5
页面秒开的方案(HTML
模板渲染&静态资源离线包)。现在市面上绝大部分新闻类APP使用的都是HTML模板渲染方案,除了资讯类页面外其他业务场景的H5都可使用离线包方案。
注意
关于上述第10条中提到的H5秒开方案需要server
进行配合,因此在这里我使用Go
语言进行后台开发,server
提供了两个API
:
-
一个普通的
get
请求,client
通过获取响应数据中的html
渲染模板进行渲染。 -
一个下载服务器离线包资源的接口。
当然,要想看这个功能的具体实现效果,需要在本地配置Go
的开发环境,详见如下步骤:
-
使用
brew install go
安装golang。 -
环境配置:
-
使用
cd ~
切换到根目录。 -
使用
ls -all
查看所有文件,看有没有.bash_profile
文件。 -
没有就创建一个
touch .bash_profile
使用vim
打开.bash_profile
进行编辑,i
进行编辑,编辑完成后:wq
退出,编辑内容如下:
```
export GOPATH=/Users//Document/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN
```
-
切换到
Documents
文件夹,创建go
文件夹,再在go
文件夹下分别创建bin
、src
文件夹,src
就是以后存放项目的文件夹。 -
在终端输入
go env
命令查看配置是否正确,GOBIN
有值表示配置没问题。 -
在本工程内搜索文件夹
GoProject > src > OfflineServer
,将OfflineServer
文件夹拷贝至Doument > go > src
目录下。 -
切换至
Document > go > src
。 -
go build
编译项目。 -
go run
运行项目。 -
不再需要开启
server
服务可以control+c
退出。
关于如何实现上述功能的具体细节,可以参考以下文章:
暂无评论