首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WKWebView 加载 Uni-App 导出的本地 H5

Uni-App 打包发布的H5包直接放到APP中加载可以用于提升加载速度,一般有两种方式: 直接把包放到 iOS 项目中加载 (多用于开发阶段测试) 从后台服务器预下载到文件沙盒内加载 (可以减少APP...文件中的 h5配置的运行的基础路径为:./ 修改配置 发行为H5 H5发行 二、iOS项目内直接加载包内 Uni-App 将整个Uni-App...包以引用(蓝色文件夹)的方式加入项目 引入Uni-App 加载 uni-app - (void)viewDidLoad { [super viewDidLoad...Uni-App 基本逻辑和加载本地一致,但是必须使用 relativeToUrl 方法加载,首先确认自己缓存的目录,然后给路径拼接file://协议头: - (void)viewDidLoad {....问题导致无法加载可以按如下设置,使WKWebView允许跨域: [self.webView.configuration.preferences setValue:@YES forKey:@"allowFileAccessFromFileURLs

1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    《移动端本地 H5 秒开方案探索与实现》

    适用于进行页面跳转的场景。 字符串替换: 客户端读取本地 H5后,通过对 H5 中的约定的标记位进行字符串替换,然后加载展示页面。适用于没有复杂交互,只通过页面渲染数据的场景。...四、细节优化 解决了上面的问题,本地 H5 确实可以达到秒开的加载速度,不过要达到和客户端一样的体验,还需要配上一些细节优化: 预加载 webView,预拉取数据 在联调本地 H5 页面过程中,发现首次加载页面时间比后续打开时间都慢很多...国际化 客户端内的 H5 也需要国际化,前端国际化方案有很多,通常情况下都是根据项目框架选择相应的国际化插件,然而在本地 H5 的页面中,再引入额外插件会增加客户端打包大小,略显冗余。...1.提取语言文案 2.页面和 js 中引用提取的文案 3.根据配置切换语言方案 $('.i18n').each(function() { var key = $(this).attr('name...但是使用 WKWebView 加载本地的 HTML 时也有一些兼容问题,在 iOS8 不能在 HTML 文件中引用本地的 css 或者 js 或者图片文件,IOS8 以上的是正常的,可以引用远程资源。

    5.5K162

    iOS WKWebView设置cookie方法总结

    同时WKWebView发起的资源请求也是不经过NSURLProtocol的,导致无法自定义请求。...cookie到本地的工具使用。...所以通过js开发的此方式不可用,但是可以被PHP等动态语言读取,由于我的项目都是用js开发的,故不用此方式,也不做兼容。这里就不做过多的使用介绍。...我猜想可能是由于cookie设置成功的时机在前端使用cookie值的时机之后造成,也无法解决。 前几天看到一篇文章:苹果拒绝了16个Web API 说了一堆,总结一下就是苹果觉得cookie不安全。...一、可以拼接在地址后面,有加密需要的加密 二、通过JSBridge传值,我自己使用的WebViewJavascriptBridge,这种方式需要在页面加载完成之后才会起效。

    6.3K31

    Web数据交互技术

    1990年,他和他的团队确定了超文本标记语言,HTML,超文本传输协议,HTTP,统一资源定位符,URL,作为构建万维网的基本概念。...HTML为超文本标记语言,用来创建网页的标准语言,运行在浏览器上,由浏览器来解析。 HTTP为超文本传输协议,是一种传输超文本的协议。HTTP是服务器和本地浏览器进行的相互通信的一种语言。...ajax是一种无须重新加载整个页面,就能够更新网页的技术,它是一种异步的JavaScript和xml技术。 ajax可以实现网页的异步更新,可以不重新加载整个网页,就可以对网页的部分内容进行更新。...iframe是HTML的一个标签,是嵌入式框架,可以把一个网页的框架和内容嵌入到网页中,使用iframe可以减少数据传输,和提高页面的加载速度。...~ 大前端开发,定位前端开发技术栈博客,PHP后台知识点,web全栈技术领域,数据结构与算法、网络原理等通俗易懂的呈现给小伙伴。谢谢支持,承蒙厚爱!!!

    86810

    Hybrid App 应用 开发中 9 个必备知识点复习(WebView 调试 等)

    参考文章:《UIWebView与WKWebView》 UIWebView 是苹果继承于 UIView 封装的一个加载 web 内容的类,它可以加载任何远端的web数据展示在你的页面上,你可以像浏览器一样前进后退刷新等操作...库加载并使用, UIWebView 中限制了; WKWebView 目前缺少关于页码相关的 API; WKWebView 提供加载网页进度的属性; WKWebView 使用 Safari 相同的 JavaScript...WKWebView 没有做缓存处理,所以对网页需要缓存的加载性能要求没那么高的还是可以考虑 UIWebView 。 二、WKWebView 有哪一些坑?...无法拦截请求。...因此由于这段过程发生在 native 的代码中,单纯靠前端代码是无法优化的;大部分的方案都是前端和客户端协作完成,以下是几个业界采用过的方案: 1.

    3.2K00

    ​# iOS WKWebView适配(基础篇)

    :@"allowFileAccessFromFileURLs"]; 4.WKUIDelegate wkwebview.UIDelegate属性 用户js中调用alert,confirm,prompt,如果不适配则无法使用对应...,无法拦截,可以在这个点注入一些自己的js - (void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation...baseURL:nil]; 5.离线资源包的一点思考 利用离线加载这一特性,我们可以通过服务端资源打包成本地资源包(zip包),通过服务器比对方式下载资源包,解压后放在本地指定的沙盒目录,随后通过wkwebview...加载本地方式打开页面。...对于资源包要求 前后端分离(目前前端基本如此) 资源包加载需要相对路径,大部分在线资源都是通过cdn的,如何通过cdn去转换成资源包并打包进来,也是一个挑战,或者直接用cdn包也是可以的 要考虑降级策略

    3.9K30

    分享超详细 WKWebView 开发和使用经验

    WKWebView 几个不常用的特性 WKWebview 加载过程中的性能指标图解 WKWebview 秒开的实践及踩坑之路 今天分享的这篇文章全面的介绍了 WKWebView,作者根据开发和使用经验从属性...readAccessURL 参数:允许访问的资源路径,如果是在 Bundle 中加载本地 HTML,则需要设置该 HTML 所在的 Bundle 路径,路径设置好后,该目录在 WKWebView 中被视为沙盒目录...沙盒目录下资源加载 Docuemnt、Library 和 tmp 目录 如果本地 HTML 放置在 Docuemnt ,Library 下的话, 则需要将目录设置为所有静态资源的最外层。...通过 [WKWebView loadRequest:] 方法访问 index.html 的话,仅能访问当前页面所在目录下的相对路径资源,无法访问目录外的资源,例如上例中,index.html 仅能访问...通过 [WKWebView loadData:] 和 [WKWebView loadHTMLString:] 方法仅能加载当前HTML内容,无法加载资源文件,这种加载模式下,由于不需要访问其他路径下的资源

    4.9K30

    H5秒开技术选型

    还会有一些api上的差异,无法实现跨域资源请求2....拦截对css、js、img等资源加载的请求。优点:UIWebView原生支持缺点:WKWebView网络请求独立于主进程,NSURLProtocol无法拦截。...优点:WKWebView原生支持缺点:需要改造前端页面,替换为customScheme。安卓不需要自定义,而且只能支持iOS11。4....起本地服务器加载本地资源描述:如果本地有资源可以满足该请求的话,H5 容器会使用本地资源。 如果没有可以满足请求的本地资源,H5 容器会使用线上资源。...8.今日头条方案:内置文章详情页所需的css、js等文件,并可以控制版本,预创建WebView预创建预加载包含文章详情页所需的css、js的空html在列表页预加载文章详情所需的内容使用LRU内存缓存并保存到本地数据库在文章详情页获取预创建的

    1.2K40

    WKWebView

    以上介绍了WKWebView的优点,但是其也有以下缺点: 1,WKWebView需要iOS9及更高的版本,虽然WKWebView是在iOS8之后引入的,但是iOS8的版本存在重大限制,比如无法访问本地存储的文件...WKWebViewConfiguration仅在首次初始化WebView视图的时候使用,当WebView视图被创建以后,你就无法再使用此类来更改WebView的配置信息了。...WKWebView就是基于WebKit.framework。 4,WKWebView的configuration属性主要是进行web前端相关业务逻辑的配置。...凡是在WKWebView的属性描述中带有“is key-value observing (KVO) compliant for this property”字样的属性,都是可以通过KVO来观察到其值变化的...不管你是使用Weex、RN还是Flutter,其程序运行的终端都是iOS或者Android,我们选择JavaScript这门较为通用的语言来调动iOS或者Android,而iOS中又内嵌了JavaScriptCore

    6K20

    网易严选的wkwebview测试之路

    不过苹果在iOS8以后推出了WKWebView来加载Web。UIWebView自iOS2就有,WKWebView从iOS8才有,毫无疑问WKWebView是将会逐步取代笨重的UIWebView。...而WKWebView网页加载速度大有提升,占用更少内存。   ...2、wkwebview的本地html页面加载失败   严选app内置了一份网络解决方案,如若检测到无网络状态可以查看这个本地页面进行网络的配置(主要是iOS10系统刚推出的时候,需要用户开启app启动网络的权限才能使用的问题...),但是替换了wkwebview之后,无网络状态下本地的html网页无法加载,结果: ?   ...开发大大排查之后发现是wkwebview中加载的方法变了(wkwebview不支持用loadRequest的方法加载本地的静态HTML),要替换不同的方法来加载,修复之后的效果 3、wkwebview

    1.8K10

    iOS 下利用简单代码实现 JS 双引擎功能思路

    二、思路概括 步骤一、 WKWebView 加载本地的一个 H5 页面,然后,在按钮的点击事件里将需要做的耗时事情告诉 iOS 原生 步骤二、iOS 原生收到消息后,创建一个原生下的 JSContext...步骤三、JSContext 对象加载本地写好的 JS 文件,然后通过步骤一传进来的参数直接异步调用 JS 文件下对应的 function。...步骤四、执行完 JS 文件下对应的 function 后进行返回 iOS 主线程,用 WkWebview 对象执行 H5 页面里的一个固定的回调方法,将数据结果返回至前端页面。...doNework:模拟耗时操作 sleep:休眠固定时常(这里写的是5秒) 3、iOS 原生部分 WKWebView 的初始化方式省略,这里需要注意的是 WKWebView 代理循环引用的问题,可以创建一个中间件避免循环引用...WKWebView 代理方法 对比一下 H5 文件下的 loadAction 方法, 1、对应 WKWebView 代理方法里的 name 标识 2、对应 WKWebView 代理方法里的 body

    2.6K00

    小白必看,JSBridge 初探

    Native 和 H5 分处两地,看起来无法联系,那么如何才能让双方协同实现功能呢?...JSBridge 主要提供了 JS 调用 Native 代码的能力,实现原生功能如查看本地相册、打开摄像头、指纹支付等。...,给用户“卡顿”的感觉 加载速度快,更加流畅 用户体验 功能受浏览器限制,体验有时较差 原生系统 api 丰富,能实现的功能较多,体验较好 可移植性 兼容跨平台跨系统,如 PC 与 移动端,iOS 与...loadUrl 方法使用起来方便简洁,但是效率低无法获得返回结果且调用的时候会刷新 WebView。...政采云前端团队(ZooTeam),一个年轻富有激情和创造力的前端团队,隶属于政采云产品研发部,Base 在风景如画的杭州。

    2.6K10

    小白必看,JSBridge 初探

    想要了解更多不掺水的原创,请戳上方蓝色字体:政采云前端团队 关注我们吧~ 本文首发于政采云前端团队博客:小白必看,JSBridge 初探 https://www.zoo.team/article/jsbridge...Native 和 H5 分处两地,看起来无法联系,那么如何才能让双方协同实现功能呢?...JSBridge 主要提供了 JS 调用 Native 代码的能力,实现原生功能如查看本地相册、打开摄像头、指纹支付等。...,给用户“卡顿”的感觉 加载速度快,更加流畅 用户体验 功能受浏览器限制,体验有时较差 原生系统 api 丰富,能实现的功能较多,体验较好 可移植性 兼容跨平台跨系统,如 PC 与 移动端,iOS 与...loadUrl 方法使用起来方便简洁,但是效率低无法获得返回结果且调用的时候会刷新 WebView。

    1.5K10

    一个 Hybrid SDK 设计与实现

    当用户在弱网络或者网速比较差的环境下,这个加载时间会很长。于是我们通过离线预推的方式,把页面的资源提前拉取到本地,当用户加载资源的时候,相当于从本地加载,即使没有网络,也能展示首屏页面。...加载对应的 url 时,直接 load 本地的资源。 对于 webview 中的网络请求,其实也可以交由客户端接管,比如在你所采用的 Hybrid 框架中,为前端注册一个发起网络请求的接口。...这样客户端可以做的事情就非常多了,举个例子,NSURLProtocol 无法拦截 WKWebview 发起的网络请求,采用 Hybrid 方式交由客户端来发送,便可以实现对应的拦截。...是无法拦截请求的。...方法二(JS 侧): 通过 AJAX 请求的 hook 方式,将网络请求的信息代理到客户端本地。能拿到 WKWebView 里面的 post 请求信息,剩下的就不是问题啦。

    1.3K10

    java和html_如何区别html和html5

    大家好,又见面了,我是你们的朋友全栈君。 JSP和HTML JSP代表JavaServer Pages;它主要用于开发动态网页,文件的扩展名为.jsp。...JSP允许在HTML文件中插入Java代码 HTML代表超文本标记语言。它是众所周知的用于开发网页的标记语言,有助于构建网页结构。...JSP和HTML之间的区别 1、采用的技术不同 HTML是客户端技术,提供了一种描述文档中基于文本的信息结构的方法。JSP是服务器端技术,提供了一个动态接口,用于不断更改数据并动态调用服务器操作。...5、速度 HTML在本地计算机上运行时加载速度更快。JSP需要一些时间来加载,因为它必须与Web Server进行交互。...结论 JSP和HTML之间的主要区别在于JSP是一种创建动态Web应用程序的技术,而HTML是用于创建Web页面结构的标准标记语言。简而言之,JSP文件是一个带有Java代码的HTML文件。

    2K20
    领券