目次
回复内容:
ホームページ ウェブフロントエンド H5 チュートリアル 微信内置浏览器对于 HTML5 的支持如何?

微信内置浏览器对于 HTML5 的支持如何?

Jun 07, 2016 am 08:42 AM
css3 webkit

是否可以等同于 Webkit 内核的浏览器?CSS3 动画的支持程度怎么样?

回复内容:

这是一个令人沮丧的事实。在android上所谓的x5内核只是众多被用来祸害前端的产品之一。
chromium这么强大,国内市场上却充满了基于过时android内置浏览器的第三方产品。更不可思议的是这些山寨货竟能把采用先进技术的产品逼进市场角落。 目前有一个正在进行的微信html5的Web应用,从已有的实践与测试来看,安卓端的微信使用的是一个自带的专用浏览器,应该是一个精简版的qq浏览器。然后就造成了我们一系列蛋疼的问题,各种不兼容。而ios端的微信无疑问用的是内置safari浏览器,不管是canvas运算还是类似todataurl这样对运算能力要求比较高的API,在上面的实现都挺流畅的。在这里就想给腾讯一个差评,qq浏览器真心渣,给我们前端工作者造成了这么多麻烦= = ios微信是safari,安卓微信是腾讯x5内核,qq浏览器的。
我认为,这是典型的追求kpi的产物,很恶心。
x5内核挖坑的速度比填坑的速度快。

本文在本人博客首发,地址:微信浏览器是移动端的IE6?微信升级内核后Html5和CSS3兼容性总结


2016年4月,自从微信浏览器X5 升级Blink内核之后,各前端社区一片高潮,仿佛看到了前端er,眼含热泪进而抱头痛头的说:终于可以不用兼容这“移动端的IE6 ”了,可以早点回家了!!!
那真实情况是不是这样呢?正好最近在做一款微信的小游戏,项目结束后,我做了一个小的总结,分享如下,时间宝贵,先上结论。

结论

总的来说,自从微信4月升级 X5 Blink内核之后,兼容性大大好转。

  1. 安卓版的微信浏览器,全面升级为TBS2.0 (基于Android 5.0 WebView Blink内核,Chrome 37),所有版本的安卓系统均为同一内核,开发只需考虑适屏问题了,HTML5和CSS3均有较好的支持(基于Chrome 37,详情可以上caniuse查)。
  2. IOS虽说没有升级统一为同一版本的内核,但IOS版本的微信一直是WKWebView内核,WKWebView的版本依赖于IOS的版本。 IOS 8.0(下文有IOS8以下系统的占比,可忽略)以上的系统,对Html5和css3的支持率也很高,基本的H5,CSS3的特性均得到支持,测试中有详细数据。
  3. 兼容性详情请查看html5和css3测试或直接用真机在以下提供的测试地址测试。

从我最近调试游戏和微信端的页面和以下测试来看,基本和媒体预期一致,Html5和Css3兼容良好。希望后面X5的Blink能够保持一定节奏的更新,不要那么多坑。

真机测试html5测试

测试地址:HTML5test - How well does your browser support HTML5?

测试结果:

  1. honor 7:475分 安卓6.0 测试报告: HTML5test - How well does your browser support HTML5?
  2. vivo xplay:475分 安卓4.2 测试报告: HTML5test - How well does your browser support HTML5?
  3. iphone4:401分 iOS 9.3.1 测试报告: HTML5test - How well does your browser support HTML5?
  4. iphone6 plus: 387分 IOS 8.4 测试报告: HTML5test - How well does your browser support HTML5?
css3测试

该网站不支持输出报告:( ,只截了一个图。
(说明,chrome 49 测试支持度为:52%,相对来说,下面浏览器的测试对CSS3的支持度还是比较高的 )

测试地址:The CSS3 Test

  1. honor 7 安卓6.0 :49%
  2. vivo xplay 安卓4.2:49%
  3. iphone4 iOS 9.3.1:56%
  4. iphone6 plus IOS 8.4 :51%

注:从Layabox引擎的游戏运营统计数据上看,低于IOS 8.0的游戏用户终端占比仅为3%左右。几可忽略不计。

FYI官方人员说明

x5浏览器性能太次了,CSS3有些不支持,比chrome差多了

基于BLINK的新X5内核已经在手机QQ浏览器上上线了,最近在微信、手机QQ、空间上灰度。 4月份应该会全量发布。
很抱歉给大家的开发带来了不便。
这里介绍一下微信、手机QQ、空间内嵌X5的背景:最初是因为在微信发现系统WebView的一些安全漏洞,对微信业务影响非常严重,但是这些漏洞单纯在APP侧无法解决,所以微信提出要求内嵌X5内核替换系统WebView。后来手机QQ、空间也提出了内嵌X5的需求。所以为了APP的安全考虑,这里是不可能让前端控制用不用X5的,不然的话,恶意的网站直接跳过X5,利用系统WebView的安全漏洞,就可以获取用户的银行账号等信息了。
内嵌X5最初是解决APP的问题,主要是APP终端开发的述求,前端同学没有参与,上线后,给前端同学带来了一些挑战,这主要是因为之前的X5内核是基于Android 4.2 WebView定制优化而来的,很多H5, CSS3属性支持是以Android 4.2系统为基础的,虽然后续我们在此基础上做了增强,但是比起Chrome的Blink内核,还是要差很多。 而Android 4.4开始,系统WebView切换到了Blink内核,所以导致在新Android机型上,X5内核的一些CSS3/H5支持弱于系统WebView。
为了解决这个问题,去年X5内核团队,投入了全部人力,全力将X5内核升级到了Blink。 全新的X5内核基于Android 5.0系统的Blink内核,已经在15年11月份在QQ浏览器6.2版本上线,经过两个版本的迭代,现在基本稳定,近期已经开始在微信、手机QQ和空间上灰度,预期会在4月份全量上线。新内核上线后,会在新Android版本手机上对齐Chrome blink内核在前端的表现能力,同时在低版本的Android手机上也提供相同表现能力,相信会给前端同学带来更多的想象空间。

报道
  1. Layabox 解读微信全面升级 X5 Blink 内核
  2. iOS 8 HTML5性能测试:苹果有多爱HTML5?

    相关信息

官网:腾讯浏览服务

内核信息:腾讯浏览服务

  1. 内核基准从WebKit升级到Blink版本,更高的性能,更完善的H5/CSS3支持。
  2. 内核版本号升级到362xx版本。 可以根据UserAgent判断当前环境是否已升级到 TBS2.0版本,包含(TBS/03xxxx)字段
  3. 更完善的H5支持,HTML5跑分475
  4. CSS3属性支持增强,完整支持flex
  5. 更完善的filter支持
  6. 支持Spdy 3.1
  7. 动画性能提升
  8. 支持伪元素动画效果
  9. 更好的inspector支持

caniuse测试: X5 Caniuse Tests

调试方法:【帮助文档】宿主App下TBS Inspector网页调试

一言以蔽之:微信瀏覽器就是手機上的IE6 微信不支持Flex布局,只能支持早期的-webkit-flex-box。我最看中的justify-content: space-around完全不能用。 说个微信里的坑吧,不知道是个例还是普遍,之前需要给元素添加border-radius:5px与transform: matrix(1, 0, 0, 1, 0, 0);两个css属性,如果就这样加上,圆角失效,如果改成border-radius:5px;-webkit-ransform: matrix(1, 0, 0, 1, 0, 0);就没问题;如果改成transform: matrix(1.1, 0, 0, 1, 0, 0);即只要matrix里不是1,0,0,1,0,0就没问题。。。
是不是很神奇。。。导致原因在此表示不知道。。。 微信内置浏览器其实就是调用的终端自身的浏览器,微信本身并没有自己开发一套浏览器。
所以对CSS3和HTML5的支持,就根据终端的不同而不同了。 最近尝试在生产环境代码里面使用 GitHub - angular/zone.js: Implements Zones for JavaScript
被 X5 坑的都要骂娘了。

这种 bug 都能被我遇到,呵呵。
Bug 44721 – XHR.responseBlob 自己调用一些接口是不行的,还是用JSSDK调用H5接口,两个来结合更完美
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

純粋な CSS3 で波の効果を実現するにはどうすればよいですか? (コード例) 純粋な CSS3 で波の効果を実現するにはどうすればよいですか? (コード例) Jun 28, 2022 pm 01:39 PM

純粋な CSS3 で波の効果を実現するにはどうすればよいですか?この記事ではSVGとCSSアニメーションを使って波のエフェクトを作成する方法をご紹介しますので、お役に立てれば幸いです。

CSSを上手に使って色々な変わった形のボタンを実現(コード付き) CSSを上手に使って色々な変わった形のボタンを実現(コード付き) Jul 19, 2022 am 11:28 AM

この記事では、頻繁に登場する様々な奇妙な形のボタンをCSSを使って簡単に実現する方法を紹介しますので、ぜひ参考にしてください。

スペースを取らずにCSS内の要素を非表示にする方法 スペースを取らずにCSS内の要素を非表示にする方法 Jun 01, 2022 pm 07:15 PM

2 つの方法: 1. display 属性を使用して、要素に「display:none;」スタイルを追加するだけです。 2. Position 属性と top 属性を使用して、要素の絶対位置を設定し、要素を非表示にします。要素に「position:absolute;top:-9999px;」スタイルを追加するだけです。

CSS3でレースボーダーを実装する方法 CSS3でレースボーダーを実装する方法 Sep 16, 2022 pm 07:11 PM

CSS では、border-image 属性を使用してレースの境界線を実現できます。 border-image 属性では、画像を使用して境界線を作成できます。つまり、境界線に背景画像を追加できます。背景画像をレース スタイルとして指定するだけで済みます。構文「border-image: url (画像パス) は、内側への画像境界線の幅。開始を繰り返すかどうか;"。

テキストカルーセルと画像カルーセルも純粋な CSS を使用して実現できることがわかりました。 テキストカルーセルと画像カルーセルも純粋な CSS を使用して実現できることがわかりました。 Jun 10, 2022 pm 01:00 PM

テキストカルーセルと画像カルーセルを作成するにはどうすればよいですか?皆さんが最初に考えるのはjsを使うかどうかですが、実はテキストカルーセルや画像カルーセルも純粋なCSSでも実現できますので実装方法を見ていきましょう。

css3アダプティブレイアウトとは何ですか css3アダプティブレイアウトとは何ですか Jun 02, 2022 pm 12:05 PM

「レスポンシブ レイアウト」とも呼ばれるアダプティブ レイアウトとは、画面の幅を自動的に認識し、それに応じて調整できる Web ページ レイアウトを指します。このような Web ページは、端末ごとに特定のバージョンを作成するのではなく、複数の異なる端末と互換性を持たせることができます。 。アダプティブ レイアウトは、モバイル Web ブラウジングの問題を解決するために生まれ、さまざまな端末を使用するユーザーに優れたユーザー エクスペリエンスを提供できます。

CSS3でマウスクリックで画像を拡大する方法 CSS3でマウスクリックで画像を拡大する方法 Apr 25, 2022 pm 04:52 PM

実装方法: 1. ":active" セレクターを使用して、画像上のマウス クリックの状態を選択します; 2. 変換属性とscale() 関数を使用して、画像の拡大効果を実現します。構文 "img:active {transform : スケール(x 軸倍率、y 軸倍率);}"。

css3のアニメーション効果に変形はありますか? css3のアニメーション効果に変形はありますか? Apr 28, 2022 pm 02:20 PM

css3 のアニメーション効果には変形があり、「animation: アニメーション属性 @keyframes ..{..{transform: 変換属性}}」を使用して変形アニメーション効果を実現できます。アニメーション属性はアニメーション スタイルを設定するために使用され、変形スタイルを設定するには、transform 属性を使用します。

See all articles