在微信上做 HTML5 网页和普通的网页开发有何不同?
回复内容:
如果考虑的范围只是微信内置浏览器和手机上的浏览器应用(safari、chrome)的话,差不多有几个不同点吧:- 最突出的差别,前端要注意分享功能!上线之前,每个页面基本都要review一边分享功能是不是完善的。
- 微信最近提供了新的接口,所以以后会有更多与微信贴合紧密的特性。
- html5接口上的差异。safari和chrome的话提供的html5接口会更多,而微信内置浏览器的接口比较少,印象最深的是usermedia。前几天在项目里还发现,微信里固定定位的支持还是不够好,safari在这点上现在好很多了。所以如果想让 web 应用在微信里体验更好一些的话,iscroll类的模块是免不了的。
- 微信浏览器的兼容性问题,在android上比较明显。印象比较深的是三星的机型上不支持background-size-cover,必须使用-webkit-background-size才行。小米的输入框比较难搞。。。
- 开发、调试上的问题。android chrome比较好,有远程调试功能。微信里面基本木有办法。遇到棘手的问题,一般会使用modernizr来做特性检测,或者使用远程log工具调试。相关工具有:
- Console.Re | Remote JavaScript Development Console
- Sentry: Track exceptions with modern error logging for JavaScript, Python, Ruby, Java, and Node.js
- Modernizr Helper

1. 在 iOS 上,Safari 里打开的页面在进入后台后会停止渲染行为和运行 js,但是在 webview (包括微信的里的 webview)里打开的页面,当应用进入后台时,并不会停止渲染行为,也不会停止运行 js,也不会触发页面可见性的变化,甚至帧率都不会降低。直到应用因内存不足被杀死之前页面都是正常运行的。
正是因为这个,微信里运行的网页好像没有什么办法可以知道自己是否进入了后台。
P.S. 其实帧率也不是完全不变的,webview 在进入后台时会有一个很短暂的帧率突然减小的行为,我根据这个写过一个通过分析帧率变化来判断页面是否进入后台的 demo,效果还不错。(注意,这个行为似乎不是由性能直接导致的,我在性能非常高的模拟器上跑 demo 依然是 work 的,帧率变化和真机上差不多)。但是影响帧率的因素太多了,而且我不知道原理是什么,所以没什么价值。
2. 在 webview 的一个 iframe 里如果有一个 target="_blank" 的链接,我们预期的行为是点击后在最外层页面打开链接,但是部分安卓机会直接在 iframe 里打开链接,有的 Android 4 以上的机器也有这个 bug(看标准应该算是 bug)。
这个是我之前在阿里妈妈实习时知道的,当时大大们发现我们运行在 webview 里的 iframe 广告,在一些安卓机里点击时会直接在小小的 iframe 框里打开,非常坑。
到现在我也不知道产生这个行为的原因是什么,搞安卓的小伙伴 @和林跃 说一些厂商会对 webview 作改动,可能是因为这个吧。
突然感觉答得有点 跑题,匿了。 有不少定制平台了,像云来,www.gaohuodong.me,maka,初页……
看看他们的案例会不会帮到你~ 微信上的H5更具有自我营销能力,带有病毒扩散功能,有带入感,更强调沉浸式体验,注重引导性逻辑,讲故事提问题引不同,引参与,诱转发,并且带有很强的人群隔裂特征 微信h5页面做登录怎么办呢?网页的登录方式会出一个二维码,仍不能直接调出微信点击确定的方式。 普通网页指的是 普通手机网页 还是 pc端的普通页面?
---以下是小菜鸟工作遇到的小坑---
普通手机内置浏览器VS微信
1.给的设计稿 viewport 直接定成了640 ,不能缩放。在微信里显示正常[微信自动把页面缩放到完整显示],但是内置的手机浏览器显示就有问题,特别是iPhone系 因为 像素的关系,页面宽度超过了屏幕的可视。
2. 安卓内置浏览器 input type=number 或者 number 时,placeholder无效
PC端页面 vs 微信
1.pc端select框由于不能变更样式,所以有采用div模拟的情况[俺们家设计师喜欢用,漂亮嘛]
但是手机页面,老老实实用select吧[可以简单更换样式,只要不太花哨就ok]。不然调用不起手机的select框。
2.比较多考虑 图片加载和低速情况,特别是低速情况。 有这些接口可以使用http://mp.weixin.qq.com/s?__biz=MjM5NDAwMTA2MA==&mid=209208141&idx=1&sn=1f075212b3482900bb7096ac810dc7f3&scene=2&from=timeline&isappinstalled=0#rd

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

本文讨论了使用视口元标记来控制移动设备上的页面缩放,重点是宽度和初始尺度之类的设置,以获得最佳响应和性能。

本文讨论了使用GeOlocation API管理用户位置隐私和权限,并强调要求权限,确保数据安全性并遵守隐私法律的最佳实践。

运行 H5 项目需要以下步骤:安装 Web 服务器、Node.js、开发工具等必要工具。搭建开发环境,创建项目文件夹、初始化项目、编写代码。启动开发服务器,使用命令行运行命令。在浏览器中预览项目,输入开发服务器 URL。发布项目,优化代码、部署项目、设置 Web 服务器配置。

本文讨论了使用HTML5页面可见性API来检测页面可见性,提高用户体验并优化资源使用情况。关键方面包括暂停媒体,减少CPU负载以及基于可见性变化管理分析。

本文介绍了如何使用HTML5拖放API来创建交互式用户界面,详细介绍了使元素可拖动的步骤,处理关键事件并通过自定义反馈来增强用户体验。它还讨论了一个常见的陷阱

H5页面需要持续维护,这是因为代码漏洞、浏览器兼容性、性能优化、安全更新和用户体验提升等因素。有效维护的方法包括建立完善的测试体系、使用版本控制工具、定期监控页面性能、收集用户反馈和制定维护计划。

本文解释了HTML5 Websockets API,用于实时双向客户服务器通信。 它详细详细介绍了客户端(JavaScript)和服务器端(Python/Flask)的实现,以应对可伸缩性,状态管理,一个挑战

制作 H5 点击图标的步骤包括:在图像编辑软件中准备方形源图像。在 H5 编辑器中添加交互性,设置点击事件。创建覆盖整个图标的热点。设置点击事件的操作,如跳转页面或触发动画。导出 H5 文档为 HTML、CSS 和 JavaScript 文件。将导出的文件部署到网站或其他平台。
