微信内置浏览器对于html5的支持

来源: 作者: 热度:102 日期:14-06-10, 09:10 AM

我在做针对微信的HTML5应用, 目前遇到的几个问题是

一. 安卓版微信直接调用系统浏览器内核, iOS则是调用safari, 所以要使用新特性, 只能升级系统了, 对于很多老系统, 新的特性是没法用的, 就连基本的canvas, toDataURL 在4.4 以下是不能导出 image/jpeg 格式的, 直接导出的 png格式, 往往非常大, 好几百K,

二. localStorage等, 是可以用, 但是据说有微信退出之后就被清空的问题.

三. 据 Sencha 项目的调研显示, 目前最适合 HTML5 项目的是 iOS 平台,我亲测, 确实如此, 比如一个基本的css3 transition转换做的图片轮播, iOS上和原生应用基本没啥区别, 安卓上则是卡的出奇, 而且安卓在进行一些复杂计算的时候,往往很慢, 比如涉及canvas计算的操作

四. 不好调试, 安卓上的调试, 我是装chrome beta 32版 app, 然后结合桌面chrome通过 USB 开启远程调试, 但是由于两者的 webkit 版本不同, 调试的结果往往不能作为最终参考依据. 说实话有时候有问题只能靠猜了(看你基本功扎实与否, 对css盒模型理解的彻底与否, 对js 的开发理解的深入与否,都能很大程度上提升你"猜对"的几率, 当然, 你最好祈祷你的人品值是够用的, 否则一弄一上午时间真的不算什么), 别忘了 try catch 和 alert, 你会发现你现在真的是爱上它们了... 安卓上的另一种调试方式是通过 ADB 过滤控制台日志的方式, 可以追踪程序错误, 这个有些复杂,我还没试过. iOS 也是可以通过 safari进行远程调试的, 前提是你需要在MAC上进行操作, 我没有MAC, 没试过.

五. 对于开发, 优雅降级与渐进增强将会是个很好的理念, 你 可以 try { 先进API} catch(e) { 老旧的实现方式} 这种方式, 确保在别人刷机到新ROM之后就还能用旧版实现方式,(事实上我没有搞, 真是复杂,很累了每天, 埋了颗雷, 我的4.1 在4.4将会爆掉, 别告诉我老板...)

六. 用百度目前可能还得不到很多有用的信息, 国内目前HTML5还处于炒概念的阶段, 很少有人做一些实打实的事情, 别告诉我谁用了什么API做了什么花出来了, 那些API都明摆在那里, 稍微有点编程常识的都能拿来用, 关键是一个实现, 其实是 一个API ,外加你要修复9个bug, 这种方式来完成的, 只懂那一个 API, 是不够的,现在.

七. 你的程序运行速度与你脚本和css3使用量成反比, 与网速成正比. 所以, 少用脚本, 简化逻辑, 慎用css3, 压缩图片, 代码, 等等, 这些仍然很重要.

八. 你会渐渐发现, 你进入了另一个 ie6 的世界, 移动开发基本是webkit 的天下, 比如我现在, 就没考虑过 wp, 当然, 这也是基于公司的要求来的.

九. 有的人把 HTML5 理解为几个 背景渐变的圆角阴影按钮, 如果真是这样认为的话, 那他现在就可以开始开发了, 这些基本的支持, 还是有了的.

微信内置浏览器对于html5的支持的更多相关文章

  1. 微信内置浏览器不支持APK附件下载的原因

    由于微信的限制,应用文件在内置浏览器中下载全部被屏蔽掉,造成很多人用微信扫描二维码下载时点击下载按钮没反应,我想到的是做一个提示用户在浏览器中打开下载.其实原来很简单,就是判断当前是在微信内置浏览器中 ...

  2. 微信内置浏览器不支持 onclick 如何解决?(原因是因为内面中的内容或者标签大部分是动态生成的)

    使用了很多onclick事件,但是在Android的微信内置浏览器中,onclick是不能被执行的. 开始的写法是: // $(".contentPic").click(funct ...

  3. 微信内置浏览器的JS API

    /**! * 微信内置浏览器的Javascript API,功能包括: * * 1.分享到微信朋友圈 * 2.分享给微信好友 * 3.分享到腾讯微博 * 4.新的分享接口,包含朋友圈.好友.微博的分享 ...

  4. 微信内置浏览器WebApp开发,踩坑 · Issue #31 · maxzhang/maxzhang.github.com · GitHub

    最近花6天时间完成了一个七夕的小活动,是一个简单的WebApp.由于我前期对面向微信的Web开发评估不足,导致开发过程十分艰难.写这篇文章总结下,惊醒自己未来不要再犯这样的错误. 问题: 1. 有些比 ...

  5. 微信内置浏览器的JsAPI(WeixinJSBridge续)[转载]

    原文地址:  http://www.baidufe.com/item/f07a3be0b23b4c9606bb.html 之前有写过几篇关于微信内置浏览器(WebView)中特有的Javascript ...

  6. 微信内置浏览器的JsAPI(WeixinJSBridge续)_Alien的笔记

    微信内置浏览器的JsAPI(WeixinJSBridge续)_Alien的笔记 微信内置浏览器的JsAPI(WeixinJSBridge续)进入全屏 之前有写过几篇关于微信内置浏览器(WebView) ...

  7. 2017年05月10日记一次微项目投产 | 安卓版微信内置浏览器不能解析gzip压缩过的mp4视频的问题

    前言 今天投产了一个小项目,一个很简单的H5,有播放视频功能,使用了videojs插件. 之前也做过数个视频播放,视频的转压都按照既定流程进行,文件放到FTP后,iphone和安卓机测试下来都没有问题 ...

  8. 让微信内置浏览器兼容clipboard.js 复制粘贴 ios 安卓

    <!--js copy事件--><script type="text/javascript" src="/static/js/clipboard.min ...

  9. 微信内置浏览器的JsAPI(WeixinJSBridge续)进入全屏

    微信内置浏览器的JsAPI(WeixinJSBridge续)进入全屏 之前有写过几篇关于微信内置浏览器(WebView)中特有的Javascript API(Javascript Interface) ...

随机推荐

  1. APP倒闭:你充值的钱会蒸发吗?

    有一句说到吐,但却又不得不说的话:资本大潮退去,才知道谁在裸泳.随着资本寒冬的来临,互联网上众多看起来狂飙突进的项目却呈现迅速萎靡态势.尤其是众多具有互联网元素的油卡.洗衣.保洁等成为重灾区,其中不少 ...

  2. 【读书笔记】https://source.android.google.cn/compatibility/tests?hl=en

    AuthorBlog:秋城https://www.cnblogs.com/houser0323/ Android Platform Testing This content is geared tow ...

  3. iOS开发日常笔记01

    为什么有initWithCoder还要awakeFromNib? awakeFromNib相较于initWithCoder的优势是:当awakeFromNib执行的时候,各种IBOutlet也都连接好 ...

  4. 基于python openOPC的监控页面一

    笔者涉猎的工业领域项目遇到一个需求,需要把底层设备(表记)的状态和运行数据集中放到一个监控画面进行展示,数据需要在界面端实时进行刷新,类似网友的例子,如下图(侵删) 数据需要实时主动刷新,笔者基于多年 ...

  5. centos 7上openJdk 安装

    为什么不安装Oracle版本 oracle jdk 现在下载太恶心了会被登陆拦截.于是就安装openjdk. 步骤 下载 yum -y install java-1.8.0-openjdk java- ...

  6. xcode制作越狱包

    1.将运行目标选为iOS Device 2.Edit Scheme -> 选择 Run [App Name] -> Build Configuration下拉框中选择Release 3.生 ...

  7. Java基础面试系列(一)

    Java基础面试总结(一) 1. 面向对象和面向过程的区别 面向过程 面向对象 性能 高于面向对象 类加载的时候需要实例化,比较消耗资源 三易(易维护,易复用,易扩展) 不如面向对象 具有封装,继承, ...

  8. Numpy之数据保存与读取

      在pandas使用的25个技巧中介绍了几个常用的Pandas的使用技巧,不少技巧在机器学习和深度学习方面很有用处.本文将会介绍Numpy在数据保存和读取方面的内容,这些在机器学习和深度学习方向也大 ...

  9. 基于微信小程序的租房小程序

    乐直租全国租房小程序前端 房源分钟上传,可快捷联系房东的小程序. 该小程序操作简单,布局清新,欢迎 start ~ 传送门:Github 扫码体验: pages: 首页 index 选择发布页 bef ...

  10. C++ 标准模板库(STL)-string

    总结了一些c++ string库常用的库函数用法 #include <iostream> #include <string>//string类可以自动管理内存 using na ...