文档章节

[译]通过Google Chrome框架让IE变得更棒

boco
 boco
发布于 2014/06/09 15:30
字数 1196
阅读 18
收藏 0
点赞 0
评论 0
      上周开会,某个现行产品在低版本IE下无法正常运行,同时还不能强制让用户直接更换IE安装FireFox或Chrome浏览器,保证产品的运行必须要基于现行浏览器,可以接受安装插件。
      凭我当时了解的解决方案中,当然认为在IE7、IE8中肯定是无法运行HTML5的,虽然产品负责人一直在讲只是用了很少一部分的HTML5技术。
      产品虽然不是我们开发的,但本着技术探求和好奇心强的精神,还是在国外的技术网站了解到 Chrome Frame plugin for IE的插件。
      排查问题的思路如下:
      首先我认为BAT(百度、阿里、腾讯)企业中肯定也会遇到这个问题,因为在中国IE6的用户还有很多,他们是如何运行HTML5的页面的。所以就调试了一些页面,很显然第一步就发现了一行代码:
 
这里发现了X-UA-Compatible(文档兼容模式) 关于这个也是比较常见的,具体可以参照MSDN网站里的
Specifying legacy document modes
代码中IE=edge,Edge模式表示让当前浏览器以最高级模式渲染页面。
重点是chrome=1,下边来解释一下[译自]: Make IE awesome by turning it into Google Chrome
英文不是很好。 
译文:
       首先我确定你知道,如今Google发布了一个可以将Trident渲染引擎引入到IE浏览器的插件,Chrome Frame plugin for IE。在不久的将来那些在现在看来非常好的新特性的技术CSS3和HTML5也可以在低版本的IE中运行,也是为了即将发布的 Google Wave 做准备。
       我写过一篇文章是关于《
Google Chrome 如何改变浏览器领域》的,WEB UI的迅速发展需要感谢Google、Mozilla、Webkit和Opera。
这个插件可以帮助推动that final frontier 实现所有下一代主流浏览器兼容的工具。
       示例
DEMO       下载源文件Download the source files 
       这个示例【颗粒喷泉】略微的修改于
http://iterationsix.com/posts/16 ;
 >Google Chrome Frame 是如何工作的 
       上一个示例是利用HTML5的canvas 标签来实现颗粒效果的,如果你是用IE浏览器访问,将会弹出安装 Chrome Frame的通知栏。
备注:当然在我大大天朝内是不会弹出的,因为Google Chrome插件被“墙”了,需要翻墙了,至于翻墙的招式百度有很多。

        首先在你的Web页面中做如下设置,才可以使用Google Chrome Frame渲染。 
        <meta http-equiv="X-UA-Compatible" content="chrome=1">        
         看起来很熟悉吧,平时我们可以使用同一个meta标签实现指定某个版本的IE浏览器强制渲染。
         当你访问一个含有上数标签的网站的时候,如果你使用的IE浏览器,并且安装了Google Chrome Frame 则会使用Chrome来渲染,可以享受他的全部功能。
         下边是一个视频演示:演示的是IE8 vs IE8与cf:协议强制使用Chrome Frame,如果无法显示视频地址:http://www.screenr.com/az7
           
  >提示用户安装 Chrome Frame

        如果如果用户不知道自己有木有安装Chrome Frame插件,怎么办?这里有一个很好的解决方法,就是调用Google Ajax APIs方法如下:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"> </script> 
<script type="text/javascript">
         
CFInstall.check();
 </script>
上述代码可以检查用户是否已经安装了Chrome Frame,如果没有安装则会提示用户安装,如果已经安装了则不会重复安装。
这个check方法也提供了一些参数项 可以访问:http://code.google.com/chrome/chromeframe/developers_guide.html#CFInstall_check_Options

  >强制使用Chrome Frame
    如果你热衷于使用这个框架,并且希望用户端使用这个框架,则可以通过追加cf协议在你所引用的url前。例如:
    cf:http://bespin.mozilla.com
    如果他是通过IE加载的,并且客户机已经安装了Chrome Frame插件,则会强制使用这个插件渲染页面。

 >初级阶段(2009-09-23)
    现在这个插件处于早期开发阶段,但是我相信他会迅速的完善,配合Google Wave的公开发布。
    这确实是一个令人兴奋的插件,会让一大批的用户体验到最好的WEB应用程序。

[翻完]引自http://www.thecssninja.com/javascript/make-ie-awesome

其实下边的评论也是非常有意思的,但是不必多翻译了,英文水平有限,IE低版本用户使用HTML5和CSS3的解决方案已经找到。
欢迎大家提供其他的解决方案。

© 著作权归作者所有

共有 人打赏支持
boco
粉丝 3
博文 43
码字总数 13039
作品 0
沈阳
程序员
Chromebook将很快能够运行Linux应用 Pixelbook抢鲜

在 I/O 2018 开发者大会首日,谷歌宣布了让 Chromebook 用户欣喜的一件事,因为 Pixelbook 将很快能够运行 Linux 应用。其实早在上周的时候,大家就已经发现,在运行 Chrome OS 和 Android ...

稿源: ⋅ 05/09 ⋅ 0

Google Chrome v67.0.3396.79 正式版发布

谷歌浏览器Google Chrome稳定版迎来v67正式版第二个维护版本发布,详细版本号为v67.0.3396.79,上一个正式版v67.0.3396.62发布于5月30日,时隔8天Google又发布了新版Chrome浏览器,本次升级主...

N软网 ⋅ 06/07 ⋅ 0

Google Chrome v67.0.3396.79 正式版发布

谷歌浏览器Google Chrome稳定版迎来v67正式版第二个维护版本发布,详细版本号为v67.0.3396.79,上一个正式版v67.0.3396.62发布于5月30日,时隔8天Google又发布了新版Chrome浏览器,本次升级主...

凝小紫 ⋅ 06/07 ⋅ 0

Google Chrome v67.0.3396.87 正式版发布

谷歌浏览器Google Chrome稳定版迎来v67正式版第三个维护版本发布,详细版本号为v67.0.3396.87,上一个正式版v67.0.3396.79发布于6月7日,时隔6天Google又发布了新版Chrome浏览器,本次升级主...

N软网 ⋅ 06/13 ⋅ 0

Firefox 支持 Web 组件技术,简化复杂网站开发

周一的时候,Mozilla 在新版 Firefox 中启用了“Web 组件”技术,旨在让网站的构建变得更加轻松。对于普通用户来说,这一技术层面的变化不会给我们造成任何影响。但是对于复杂网站的构建者,...

达尔文 ⋅ 05/31 ⋅ 0

谷歌计划禁止通过第三方网站安装Chrome扩展

长久以来,Google 一直在努力尝试提升 Chromium 系列网络浏览器的扩展安装体验。除了允许用户通过 Chrome Web Store 获取之外,不希望公开发布的开发者也可以通过第三方来安装。不过今后,事...

稿源: ⋅ 06/13 ⋅ 0

对http-equiv中"X-UA-Compatible"属性的理解

X-UA-Compatible是自从IE8新加的一个设置,对于IE8以下的浏览器是不识别的。 通过在meta中设置X-UA-Compatible的值,可以指定网页的兼容性模式设置。 在IE8刚推出的时候,很多网页由于重构的...

codingcoge ⋅ 05/24 ⋅ 0

Google Chrome 将从9月开始,默认 HTTPS 页面为安全站点

据外媒 bleepingcomputer 5月17日报道,谷歌正计划停止在地址栏中标记 HTTPS 页面为“安全”站点,换句话说,在没有发现异常的情况下,所有 HTTPS 的站点都会默认为安全,此举将于今年9月份发...

郭佳 ⋅ 05/18 ⋅ 0

Google Chrome 66可以下载啦

Google最近发布了适用于Windows,Linux和Mac的Chrome 66,这一次更新日志包含安全修复和性能改进以及内置功能。 Chrome 66.0.3359.117总共提供了62个安全修复程序,这强调了用户尽快安装新版...

linux-tao ⋅ 04/25 ⋅ 0

Chrome 67 Beta版上线:更好支持移动页游、AR、VR

在即将上线的Chrome 67版本中,Google将会更充分地利用智能手机中的各个传感器,并通过全新的WebXR框架(已经整合了VR和AR的诸多API)为移动端带来更好的沉浸式体验。 智能手机之所以能够扮演...

稿源: ⋅ 05/01 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 今天 ⋅ 0

Java8新增的DateTimeFormatter与SimpleDateFormat的区别

两者最大的区别是,Java8的DateTimeFormatter也是线程安全的,而SimpleDateFormat并不是线程安全。 在并发环境下使用SimpleDateFormat 为了能够在多线程环境下使用SimpleDateFormat,有这三种...

人觉非常君 ⋅ 今天 ⋅ 0

多线程如何控制执行顺序

线程的生命周期说明: 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、...

MarinJ_Shao ⋅ 今天 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Django第一期

安装Django 去https://www.djangoproject.com/download/ 下载最新版的Django,然后解压放到Anaconda\Lib\site-packages目录下,然后cmd进入此目录,输入安装命令: python setup.py install ...

大不了敲一辈子代码 ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部