vue项目iOS WKWebView加载
1、首先让前端的同事打一个包(index.html,静态文件包含css、资源文件、js等)导入项目;
:警告:注意:
把index.html放入项目根目录下,命令n创建一个资源文件。捆,资源文件里也的包含一份index.html
下面开始代码:
懒加载WKWebView
引入#导入WebKit/WebKit。h #导入WebKit/WKWebView.h
继承WKNavigationDelegate,WKUIDelegate,
- (WKWebView *)wkWebView{ if(!_wkWebView) { //设置网页的配置文件wkwebview配置*配置=[[wkwebview配置alloc]init];//允许视频播放if(@可用(iOS 9.0),* {配置。allowiarplayformmediaplayback=YES;} else { //在早期版本上回退} //允许在线播放配置。allowsininemediaplayback=YES//允许可以与网页交互,选择视图配置。选择粒度=是;//关于WKWebView无法跳转新页面设置配置。偏好。JavaScript canopenwindowsautorative=YES;//web内容处理池配置。process pool=[[WKProcessPool alloc]init];//自定义配置,一般用于射流研究…调用指挥官方法(OC拦截统一资源定位器中的数据做自定义操作)WKUserContentController * UserContentController=[[WKUserContentController alloc]init];//添加消息处理,注意:自我指代的对象需要遵守WKScriptMessageHandler协议,结束时需要移除[UserContentController addscriptmessagehandler :自身名称: @ ' download '];//DownloadPolicy //是否支持记忆读取配置。supresesincrementalrendering=YES;//允许用户更改网页的设置配置。用户内容控制器=用户内容控制器;_ WKWebView=[[WKWebView alloc]initwithFrame : cgrectMake(0,0,self.view.frame.size.width,kIs_iPhoneX?自我。查看。框架。尺寸。身高-34:自我。查看。框架。尺寸。高度)配置:配置];_ wkwebview。背景颜色=[带有红色:240.0/255绿色:240.0/255蓝色:240.0/255 alpha 33:1.0的ui颜色];//设置代理_ wkwebview。navigationdelegate=self_wkWebView .UIDelegate=self//垂直滚动[_ wkwebview。滚动查看setshowsvarticalscrollidinator : no];_ wkwebview。scrollview。内容大小=CGSizeMake(self。查看。框架。尺寸。宽度,kIs_iPhoneX?自我。查看。框架。尺寸。身高-34:自我。查看。框架。尺寸。高度);//开启手势触摸_ wkwebview。allowbackforwardenavigatingpings=YES;//设置可以前进和后退//适应你设定的尺寸[_ WKWebView SizeToFit];[自我。view add subview : _ wkWebView];} return _ wkWebView}iOS 9以后和iOS 8之前加载方法不一样,做区分
-(参见)viewdidload {[super viewdidload]:NSF管理器*文件管理器=[NSF管理器默认管理器];nsarray * array 1=nsearchhpfordirectories indo manes(nsdocumentdirectory,nsuserdomainmask,yes);nsstring * matpath 1=[[array 1 object index 33636]stringbypending path component 3330 @ ' quehtml '];如果(![文件管理器file existsat path 3330 mat path 1]){ nsstring * mat string=[[nsbundle main bundle]path forrestource 3330 @ ' html ' microsofttype 3330 @ ' bundle "];dispatch _ async(dispatch _ get _ global _ queue(0,0),^ {[文件管理器removeitematpath 3330 matpath 1错误3330 nil];[文件管理器copy itematath 3330 mat string to path 3330 mat path 1错误3330 nil];调度_异步(调度_获取_主_ queue())、^{ NSLog(@调度日志)吴邦国');if [[ ui设备当前设备]系统版本]float value]9.0 {[自IOs 8加载];} else {[self IOs 9 LoAd]:});});} else { if[[ui设备当前设备]系统版本]float value]9.0 } {[self IOs 8 load];} else {[self IOs 9 LoAd]:}-(void)IOs 8加载{ nsarray * path=nsearchhpfordirectories indo manes(nsdocumentdirectory,nsuserdomainmask,yes);nsstring * path=[path客观索引33636];nsstring * base path=[格式为3330的nsstring string @ % @ path,@ ' quehtml/'];[自我。wkwebview load request 3330[nsrlrequest with URL 3360][nsrlfileullwith path 3360][nsrlfileullwith path()]stringbypending path component 3330[nsstring stringwith format 3330 @ www/quehtml/index。html]]];}-(无效)IOs 9加载{ nsarray * path=nsearchhpfordirectories indo manes(nsdocumentdirectory,nsuserdomainmask,yes);nsstring * path=[path客观索引33636];nsstring * base path=[格式为3330的nsstring string @ % @ path,@ ' quehtml/'];nsstring * html path=[nsstring string with format 3330 @ % @ path,@ ' quehtml/index。html '];NSRL *文件URL=[NSRL文件urlwithpath 3330 html路径]:if (@available(iOS 9.0),* {[self。wkwebview loadfile URL 3330 file URL allowingreadaccesstour 3330[NSRL fileurwith path 3330 base path是目录3330 yes]];}}是吴亚玲
//嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿请参阅)web view 3330(wkwebview *)web view direceiveserverdirectfortemporary navigation 3330(wknavigation *)navigation { nslog(@ s)导航嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿,嘿,嘿,嘿,嘿,嘿,嘿,嘿,嘿,嘿,嘿,嘿- %@,浏览:}//哎哎哎哎哎哎,魏冄-(请参阅)webview 3330(wkwebview *)webview决策策略导航响应3330(wknavigation响应*)导航响应决策处理器3330(请参阅(^)(wknavigation责任)决策处理程序{ nslog(@)哎哎哎哎哎哎,魏冄- %@,导航响应。网址。绝对发情;//菲兰达决定处理程式(wknavigation响应sepolicyallow)://菲兰达//决定处理程式(wknavigation职责周期);}//哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟,魏冄-(请参阅)webview 3330(wkwebview *)webview决策策略导航动作3330(wknavigation动作*)导航动作决策处理器3330(请参阅(^)(wknavigation行动政策))决策处理程序{ nslog(@)哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟,魏冄- %@,导航动作。请求。网址。绝对发情;//菲兰达决定处理程式(wknavigationactionpolicy allow)://菲兰达//决策处理程序(wknavigation操作策略取消);} # pragma mark-wk navigation delegate//范思哲范思哲-(请参阅)web view 3330(wkwebview *)web view distart vision导航3360(wknavigation *)导航{ nslog(@ s)导航吴经盛贺盛瑞阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉');}//菲兰达菲兰达菲奥纳菲奥纳维奇菲奥纳维奇菲奥纳维奇菲奥纳维奇菲奥纳维奇菲奥纳维奇菲奥纳维奇菲奥纳维奇菲奥纳维奇菲奥纳维奇菲奥纳维奇菲奥纳维奇菲奥纳维奇(签名)-(请参阅)web view 3330(wkwebview *)web view dicommitnavigation 3330(wknavigation *)导航{ nslog(@ s)导航范仲裁庭');}//范国强范国强范国强-(请参阅)web view 3330(wkwebview *)web view difinishnavigation 3330(wknavigation *)导航{ nslog(@ s)导航贺盛瑞贺盛瑞');}//贺盛瑞贺盛瑞贺盛瑞-(请参阅)web view 3330(wkwebview *)web view difadilprovionalnavigation 3360(wknavigation *)导航{ nslog(@)导航贺盛瑞贺瑞');}唉呀https(https)什么事
-(void)webview :(wkwebview *)webview direceiveauthenticationchallenge :(nsurlauthenticationchallenge *)challenge completionhandler :(void(^)(nsurlsessionauthchallengedisposition处理,nsur credential * credential))completionhandler { if([challenge。保护空间。authenticationmethod为qualtostring 3360 surlauthenticationmethodservertrust]){ if([challenge previous failure count]==0){ nsurl credential *凭据);} else { completionHandler(nsurlesessentithchallengencelauthenticationchallenge,nil);} } else { completionHandler(nsursenterthchallengencelauthenticationchallenge,nil);}}总结
以上所述是小编给大家介绍的某视频剪辑软件项目iOS WKWebView加载,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
版权声明:vue项目iOS WKWebView加载是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。