这篇《基于HTML5的电信网管3D机房监控应用》的基于WebGL技术的应用,让少数同学对HTML53D的应用产生了兴趣和信心,但是也有不少网友私下询问WebGL如何在WebGL上运行的问题旧的IE678910浏览器,毕竟作为企业应用,用户的机器上运行着各种办公、业务系统,包括PB/Delphi等老的CS应用,以及安装了dll和ActiveX的各种程序。有安全认证和视频监控的插件,有flex和SVG应用的flash或svg插件,当然还有各种支持IE6但不支持非IE浏览器的OA办公软件。成为国内安防企业的新商机《围猎XP:谁在瞄准商机》。升级机器系统有多容易?在无法升级的IE678910上运行WebGL,只能使用GoogleChromeFrame的解决方案。虽然谷歌从2014年1月开始就停止维护和更新这个插件,但是发布的版本也是31.这个WebGL版本的功能已经足够完善了,当然这个方案也是一箭双雕解决2DCanvas问题。安装插件后,在需要使用WebGL的页面添加一行代码,或者从服务器发送页面到HTTP将X-UA-Compatible:chrome=1参数添加到标头。使用GoogleChromeFrame时需要注意以下几点:GoogleChromeFrame不支持直接从本地本地文件打开页面。您必须将页面部署到Web服务器才能打开它运行。GoogleChromeFrame不支持64位机器:目前,不支持64位版本的IE。值得指出的是,32位IE是64位Windows7的默认设置。GoogleChromeFrame不支持iframe模式:此时ChromeFrame仅支持顶级URL上的元标记检测。GoogleChromeFrame不支持iframe的问题可以使用嵌入OBJECT元素的解决方案以上是我对旧IE浏览器使用GoogleChromeFrame遇到的一些坑的解决方法,如果你还遇到其他问题,请参考GoogleChromeFrame的开发者指南和故障排除幸运的是,我们遇到的很多项目仍然允许购买新机器或升级到新的浏览器系统,但这并不意味着如果IE11可用,问题就结束了,微软在支持新标准方面落后了半拍,如果你知道标准是这样的,我不会执行它。你能做什么?相信preserve-3d的CSS3功能会让很多人开心。确实,如果CSS3的3D功能可以在各种浏览器中实现,那么很多应用就没有用了。WebGL有什么问题,比如著名的famo.us元素周期表经典例子,尼玛的IE用户没福气享受,看看下面的MS人,我就知道preserve-3d是一个w3c标准,我不会实现,想绕道自己的蹩脚解决方案:http://msdn.microsoft.com/en-us/library/ie/hh673529(v=vs.85).aspxNoteW3C规范定义了一个关键字值此属性的preserve-3d,表示不执行展平。目前,InternetExplorer10不支持preserve-3d关键字。除了子元素的正常变换问题之外,您还可以通过手动将父元素的变换应用于每个子元素来解决此问题。CSS3将在下一次讨论。这是一个没完没了的话题。回到我们的IE11,它号称支持WebGL。自从一年前有人泄露IE11将支持WebGL以来,业界一直很兴奋。通话开始后还有那么多瑕疵,但终归是好事。迈出第一步是最困难的。相信微软会逐步完善,但毕竟还是要继续补ShadingLanguage。陷阱:1.lineWidth不允许设置。它只支持1个像素的连接。只能用一个像素凑合,或者用重重的建模型的方法代替线条。2.暂不支持Stencilbuffers,clearStencil之类的函数不考虑3.不支持TRIANGLE_FAN类型。这很容易处理。请改用TRIANGLES添加顶点数据。逻辑不需要返回。目前,这些是我遇到的坑。掉过其他坑的同学可以继续补充。使用threejs、babylonjs以及Hightopo的HTforWeb等3D引擎包的框架自然会帮助我们屏蔽应用层。这些坑,但相信很多引擎还没有考虑到IE11。毕竟这哥们的市场占有率不高。等到高到可以考虑的时候,说不定微软已经把坑填上了。我们不用再担心了,但是微软发布新浏览器版本的节奏,我只能说我们这辈子一定会等到原链接:http://my.oschina.net/xhload3d/博客/206993