如果你有需求在手机端打开本地html的需求,又觉得使用其他方法麻烦或者不管用的时候,推荐你可以自己写个简单的app进行打开。
到目前为止,互联网行业里,手机越来越智能化,移动端占有的比例越来越高,尤其实在电商,新闻,广告,游戏领域。用户要求越来越高,网站功能越来越好,效果越来越炫酷,这就要求我们产品质量越来越高,web前端开发而言是一个挑战,是一个难题,也是一个机遇。如何让我们所开发的手机页面能有更好的交互体验,就是这篇文章的主旨:移动web开发问题和优化小结。这个只是我自己在开发的时候知道的坑,如果大家有遇到什么别的坑,欢迎补充,或者觉得我哪里写错了,欢迎指点!
iOS: UIWebview loadhtmlstring & Local css/js/imageresources
我们APP中经常存在显示网页会有网页底部留有大量空白,显示网页速度要一两秒或者更久时间的问题。
UIWebView是苹果继承于UIView封装的一个加载web内容的类,它可以加载任何远端的web数据展示在你的页面上,你可以像浏览器一样前进后退刷新等操作。不过苹果在iOS8以后推出了WKWebView来加载Web。UIWebView自iOS2就有,WKWebView从iOS8才有,毫无疑问WKWebView是将会逐步取代笨重的UIWebView。且UIWebView存在占用过多内存,js执行效率低等问题。而WKWebView网页加载速度大有提升,占用更少内存。
根据需求需要将老项目中的 WebView 替换成 WKWebView,期间查阅了不少文档和资料,之前也发布了几篇 WKWebView 相关的优秀文章。
iOS: UIWebview loadhtmlstring & Localcss/js/image resources
对 APP 里的一些使用 H5 实现的功能模块,一般体验都比原生差,那么怎么提高h5加载速度?优化 h5 体验?
慢网时,页面内通过按钮等控件跳转可能会出现报错(即使视觉上网页跳转并加载成功)。这是由于当一个按钮点击跳转另一个网页时,会走网页加载错误的代理方法。而走代理方法的原因是因为上一个URL还没完全加载完全,就开始下一个URL的请求,就会走该代理方法。
Uni-App 打包发布的H5包直接放到APP中加载可以用于提升加载速度,一般有两种方式:
在上篇文章中讲述了使用UIWebView拦截URL的方式来处理JS与OC交互。 由于UIWebView比较耗内存,性能上不太好,而苹果在iOS 8中推出了WKWebView。 同样的用WKWebView也可以拦截URL,做JS 与OC交互。关于WKWebView与UIWebView的对比,大家请自动百度或者google。
由于目前UIWebView 已经被抛弃了,因此推荐使用WKWebView的WKScriptMessageHandler实现iOS与JS交互
对比单纯的webview加载页面多了一些优化,比如CSS动画、页面预加载、多页面显示隐藏模拟窗口切换,以至于在视觉上看起来不那么生硬。
公司APP的文章详情,之前是将所有的HTML内容全部从接口中返回,然后APP的webview将其载入到内中,然后渲染并展示出来。
市面上播放器千千万,比如我们常见的有Video.js、hls.js、点播超级播放器等。其中点播超级播放器是基于 video.js 框架并结合腾讯云点播业务而开发的视频播放器,采用以 HTML5为主,Flash 为辅的播放方式,在浏览器不支持 HTML5的情况下采用 Flash 播放、PC端兼容很好。最近收到客户反馈,在接入使用Web超级播放器时,嵌入到对应页面时出现报错。接下来以腾讯云点播为例,来看下如何解决。
UIWebView自iOS2就有,WKWebView从iOS8.0(2014年9月WWDC)才有,毫无疑问,WKWebView相对UIWebVIew要优秀得多,主要表现在以下几点:
用CGImageCreateCopy或者CGImageCreateCopyWithColorSpace
刚入门前端的时候写过很多的微信H5页面,时隔多年感觉应该是手到擒来,不曾想竟很是费了一些功夫。现在把本次开发过程中遇到的问题以及我是如何解决的,做个记录。防止自己以后再去解决解决过的问题。
UIWebView继承与UIView,因此,其初始化方法和一般的view一样,通过alloc和init进行初始化,其加载数据的方式有三种:
今年大前端的概念一而再再而三的被提及,那么大前端时代究竟是什么呢?大前端这个词最早是因为在阿里内部有很多前端开发人员既写前端又写 Java 的 Velocity 模板而得来,不过现在大前端的范围已经越来越大了,包含前端 + 移动端,前端、CDN、Nginx、Node、Hybrid、Weex、React Native、Native App。笔者是一名普通的全职 iOS 开发者,在接触到了前端开发以后,发现了前端有些值得移动端学习的地方,于是便有了这个大前端时代系列的文章,希望两者能相互借鉴优秀的思想。谈及到大前端,常常被提及的话题有:组件化,路由与解耦,工程化(打包工具,脚手架,包管理工具),MVC 和 MVVM 架构,埋点和性能监控。笔者就先从组件化方面谈起。网上关于前端框架对比的文章也非常多(对比 React,Vue,Angular),不过跨端对比的文章好像不多?笔者就打算以前端和移动端(以 iOS 平台为主)对比为主,看看这两端的不同做法,并讨论讨论有无相互借鉴学习的地方。
iOS 自定义视图:《用户协议及隐私政策》弹框(包含超链接属性)【本文包含完整demo源码,demo支持中英文切换】
在App开发中,内嵌WebView始终占有着一席之地。它能以较低的成本实现Android、iOS和Web的复用,也可以冠冕堂皇的突破苹果对热更新的封锁。 然而便利性的同时,WebView的性能体验却备受质疑,导致很多客户端中需要动态更新等页面时不得不采用其他方案。 以发展的眼光来看,功能的动态加载以及三端的融合将会是大趋势。那么如何克服WebView固有的问题呢?我们将从性能、内存消耗、体验、安全几个维度,来系统的分析客户端默认WebView的问题,以及对应的优化方案。 性能 对于WebView的性能,给人
玩转 iOS 10 推送 —— UserNotifications Framework(上) iOS 接收推送消息后跳转到某个页面(适配iOS10)
WKWebView主要涉及到以下类或协议,各部分可能互相依赖,文章按照apple文档的划分对每一个模块进行了详细的解释。
随着移动技术的快速迭代,数据流量费用的快速下降,视频、直播正成为全民的媒体盛宴,我司必然也不会缺席此次盛宴,这里讲述的是通过h5实现仿抖音视频全屏播放&滑动切换的效果,供我司直播鉴定回放视频使用。
使用[_webView loadHTMLString:html baseURL:baseURL]; 进行代码加载
概述 WebView就是一个内嵌浏览器控件,在iOS中主要有两种WebView:UIWebView和WKWebView,UIWebView是iOS2之后开始使用,WKWebView是在iOS8开始使用,WKWebView将逐步取代笨重的UIWebView。 相比UIWebView,WKWebView做了如下优化: WKWebView更多的支持HTML5的特性 WKWebView更快,占用内存可能只有UIWebView的1/3 ~ 1/4 WKWebView高达60fps的滚动刷新率和丰富的内置手势 WKWe
上面这个 slide 资料讲的非常好,算是一个入门的介绍吧。带我们建立基本的移动 web 开发知识体系和常见问题的实践。包含以下几个方面:
前言 在移动端,图片一直是流量大头,一些商品列表和详情等页面,图片大小动不动就以几百K,当然在某些比较大的公司会根据具体情况去加载相应尺寸的图片,这就意味着服务器必须提供多套尺寸的图片。而对传统的JPEG、PNG 和 GIF 这些图片格式的优化几乎已经达到了极致,而 Google在这个时候给了开发者一个新选择:WebP。在Google 的明星产品如 Youtube、Gmail、Google Play 中都可以看到 WebP 的身影,而 Chrome 网上商店甚至已完全使用了 WebP。国外公司如 Faceb
在 Flutter 中,有点发愁,因为 Flutter 提供的 Text 与 RichText 还解析不了这种格式的,但是你也不能使用 WebView 插件,如果使用了,你会在每一个Item中嵌入一个浏览器内核,再强的手机,也会卡,当然肯定不能这样做,因为这样就是错误的做法。
前言 我们大前端团队内部 ?每周一练 的知识复习计划继续加油,本篇文章是 《Hybrid APP 混合应用专题》 主题的第二期和第三期的合集。 这一期共整理了 10 个问题,和相应的参考答案,文字和图
iOS平台一直是封闭的生态圈,iOS开发者要缴纳年费加入开发者计划才可进行iOS平台的APP开发测试,所开发的APP需要上传到App Store经过苹果审核以后才可对外发布。如果要开发企业内部应用,则要缴纳更高的费用购买企业账户才可以。 对于现在火如荼的HTML5应用,我们可以借助PhoneGap对其打包,然后像原生APP一样发布它们;或者要求用户直接通过浏览器访问。前一种方式的优点是用户体验好,用户可以像使用原生APP那样使用它们,缺点是发布很繁琐,而且要等待苹果审核。后一种方式则完全不用考
本文介绍了iOS平台上快速发布HT for Web拓扑图应用的一种方法,通过该方法可以快速发布基于HTML5的拓扑图应用,并借助PhoneGap Build打包成原生应用。主要步骤包括:1、使用PhoneGap和HT for Web构建HTML5拓扑图;2、使用Safari浏览器打开拓扑图;3、使用PhoneGap Build打包成原生应用。该方法将原生应用的发布流程和HTML5应用的优势结合起来,既缩短了应用上线流程,又能充分发挥HTML5应用的优势。
UIWebView 是苹果继承于 UIView 封装的一个加载 web 内容的类,它可以加载任何远端的web数据展示在你的页面上,你可以像浏览器一样前进后退刷新等操作。不过苹果在 iOS8 以后推出了 WKWebView 来加载 Web,并应用于 iOS 和 OSX 中,它取代了 UIWebView 和 WebView ,在两个平台上支持同一套 API。
随着近几年的前端技术的高速发展,越来越多的团队使用 React、Vue 等 SPA 框架作为其主要的技术栈。以 React 应用为例,从性能角度,其最重要的指标可能就是首屏渲染所花费的时间了。那么今天,我们要给大家分享的一个把优化做到极致的故事。
本文由 IMWeb 团队成员 Jax 首发于腾讯内部KM论坛。点击阅读原文查看 IMWeb 社区更多精彩文章。 天下武功,唯 (wei) 快(fu) 不(bu) 破(po)。 随着近几年的前端技术的高速发展,越来越多的团队使用 React、Vue 等 SPA 框架作为其主要的技术栈。以 React 应用为例,从性能角度,其最重要的指标可能就是首屏渲染所花费的时间了。那么今天,我们要给大家分享的一个把优化做到极致的故事。 我们的目标是让 H5 的页面也能够拥有 Native 般的体验,如果你还在寻求什么技术
一、前言 从早期的传统(Web)前端到当下的大前端,无论是iOS端还是Android端,路由管理这个概念,一直贯穿在应用(APP)开发的过程里。了解路由管理的形成与发展,可以帮助我们理解应用设计与开发,透析其中的技术原理,对于提升个人开发能力也是大有裨益。 QQ音乐技术团队(下称“团队”)汇聚了Web、Android、iOS、Flutter等平台的众多优秀人才,更在如MOO音乐、Q音探歌等项目上,进行了非常多的前沿技术实践,对于路由管理这个技术话题也是积累良多。 围绕页
HTML+CSS CSS pixels与Device pixels有何区别? 2016.07.25~2016.07.29 核心概念 CSS pixels、Device pixels 问题解析 CSS pixels: 浏览器使用的抽象单位, 主要用来在网页上绘制内容 Device pixels: 显示屏幕的的最小物理单位,每个dp包含自己的颜色、亮度 等值的 CSS pixels在手机屏幕上占多大的位置,这不是固定的,这取决于很多属性。经过分析和总结,我们可以得出这么一条公式: 1 CSS pixels =
Weex是一个移动端的动态化框架,它允许开发者用轻巧的 HTML/JS/CSS 开发多个端的 NativeApp。用 Weex只需写一份代码,便可运行在Android、iOS以及H5中,并且在 Android 和iOS上以Native UI的形式呈现,为用户提供更好的用户体验。
经过研究,是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率来显示网页,这样字会非常小,所以苹果当初就把iPhone 4的960*640分辨率,在网页里只显示了480320,这样devicePixelRatio=2。现在android比较乱,有1.5的,有2的也有3的。
最近准备把之前用UIWebView实现的JS与原生相互调用功能,用WKWebView来替换。顺便搜索整理了一下JS 与OC 交互的方式,非常之多啊。目前我已知的JS 与 OC 交互的处理方式:
原文作者:享物说 https://juejin.im/post/5c778d86e51d4506304ee348
用CGImageCreateCopy 或者CGImageCreateCopyWithColorSpace函数拷贝
WebView的优缺点: 优点:(1)跨平台(2)发布更新快(3)排版布局能力强 缺点:(1)性能差(2)数据通讯复杂(3)耗费流量 使用场景:(1)排版复杂的内容(2)需后台灵活控制的界面 一、初始化与三种加载方式 UIWebView继承于UIView,因此,其初始化方法和一般的view一样,通过alloc和init进行初始化,其加载数据的方式有三种: 1.第一种: - (void)loadRequest:(NSURLRequest *)request; 这是加载网页最常用的一种方式,通过一
前言 我们大前端团队内部 ?每周一练 的知识复习计划继续加油,本篇文章是 《Hybrid APP 混合应用专题》 主题的第二期和第三期的合集。 这一期共整理了 10 个问题,和相应的参考答案,文字和
手Q天气是在手Q 6.0版本以上新增的功能,页面会展现当天的气温情况,已经五天温度折线图以及24小时温度图表等。 并且为了更好的交互效果,天气页面会根据8种不同的天气信息,展现相应的天气动画。如下雨下雪,飘云,日光闪烁等动画效果。
在iOS开发中大家对于有些功能和模块不可避免的需要使用HTML来加速开发和实现功能的快速变更,例如:预览和活动页面。
领取专属 10元无门槛券
手把手带您无忧上云