文档章节

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

boco
 boco
发布于 2014/06/09 15:30
字数 1196
阅读 20
收藏 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
沈阳
程序员
安利几个好用的chrome插件

给大家安利几个我觉得比较好用的chrome插件 Toby 安装的地址在 这里 官方描述如下: Toby is better than bookmarks, it levels up your Chrome browser. Toby is a visual workspace that li...

detectivehlh
08/01
0
0
Chromebook将很快能够运行Linux应用 Pixelbook抢鲜

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

稿源:
05/09
0
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
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
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
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 恨不得给你买张飞机挂票

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @开源中国首席灵魂师:分享张希/曹方的单曲《认真地老去》 来不及认真的年轻过,就认真的老去! 《认真地老去》- 张希/曹方 手机党少年们想听...

小小编辑
10分钟前
8
3
如何实现靠谱的分布式锁?

分布式锁,是用来控制分布式系统中互斥访问共享资源的一种手段,从而避免并行导致的结果不可控。基本的实现原理和单进程锁是一致的,通过一个共享标识来确定唯一性,对共享标识进行修改时能够...

郑加威
59分钟前
0
0
Mac OS X下Maven的安装与配置

Mac OS X 安装Maven: 下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile 添加下列两行代码,之后...

TonyStarkSir
今天
3
0
关于编程,你的练习是不是有效的?

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即...

问题终结者
今天
4
0
打开eclipse出现an error has occurred see the log file

解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。...

任梁荣
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部