成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

從IE6到IE11上運行WebGL 3D遇到的各種坑

開發 前端
這篇《基于HTML5的電信網管3D機房監控應用​》基于WebGL技術的應用讓少同學對HTML5 3D的應用產生了興趣和信心,但有不少網友私信詢問WebGL如何運行在老的IE678910瀏覽器的問題,畢竟作為企業應用,用戶的機器運行著各式各樣的辦公及業務系統,有PB/Delphi之類的老CS應用,有安裝了dll和ActiveX的各種安全認證和視頻監控的插件,有裝著flash或svg插件的flex和SVG應用,當然還有支持IE6卻不支持任何非IE瀏覽器的各種OA辦公軟件,眼看著XP操作系統即將壽終正寢,結果還成了國內各家安全公司的新商機《圍獵XP:誰在瞄準商機》,你說升級

這篇《基于HTML5的電信網管3D機房監控應用》基于WebGL技術的應用讓少同學對HTML5 3D的應用產生了興趣和信心,但有不少網友私信詢問WebGL如何運行在老的IE678910瀏覽器的問題,畢竟作為企業應用,用戶的機器運行著各式各樣的辦公及業務系統,有PB/Delphi之類的老CS應用,有安裝了dll和ActiveX的各種安全認證和視頻監控的插件,有裝著flash或svg插件的flex和SVG應用,當然還有支持IE6卻不支持任何非IE瀏覽器的各種OA辦公軟件,眼看著XP操作系統即將壽終正寢,結果還成了國內各家安全公司的新商機《圍獵XP:誰在瞄準商機》,你說升級機器系統談何容易?

對于我們無力要求升級的IE678910上要跑WebGL,我們只能采用Google Chrome Frame的解決方案,雖然該插件Google從2014年1月份起就不再維護更新了,但已經發布的版本也是31了,這個版本的WebGL功能已經足夠完善了,當然這樣的解決方案也一箭雙雕的解決了2D的Canvas問題。

安裝完該插件后,在你需要采用WebGL的頁面增加一行<meta http-equiv=”X-UA-Compatible” content=”chrome=1″>代碼即可,或者從服務器下發該頁面是對HTTP頭增加X-UA-Compatible: chrome=1的參數即可。

使用Google Chrome Frame還需要注意一下幾點:

可采用嵌入OBJECT元素的解決方案,繞開Google Chrome Frame不支持iframe的問題

  1. <OBJECT ID="ChromeFrame" WIDTH=500 HEIGHT=500 CODEBASE="http://www.google.com" 
  2.         CLASSID="CLSID:E0A900DF-9611-4446-86BD-4B1D47E7DB2A"> 
  3.     <PARAM NAME="src" VALUE="http://www.google.com"> 
  4.     <embed ID="ChromeFramePlugin" WIDTH=500 HEIGHT=500 NAME="ChromeFrame" 
  5.         SRC="http://www.google.com" TYPE="application/chromeframe"> 
  6.     </embed> 
  7. </OBJECT> 

以上是我使用Google Chrome Frame解決老IE瀏覽器遇到的一些坑的解決方案,如果你還遇到其他問題可參考Google Chrome Frame的Developer Guide 和Troubleshooting 。

還好,我們遇到的不少項目還是允許購買新機器或者升級新瀏覽器系統的,但這并不以為這能上IE11就問題結束了,微軟這哥們對新標準的支持要嘛落后半拍,要嘛明知標準就這樣我TMD的就不實現你能咋地,相信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).aspx
Note The W3C specification defines a keyword value of preserve-3d for this property, which indicates that flattening is not performed. At this time, Internet Explorer 10 does not support the preserve-3d keyword. You can work around this by manually applying the parent element’s transform to each of the child elements in addition to the child element’s normal transform.

CSS3的問題下回再扯淡,那是個無窮無盡的話題,回到我們的號稱支持WebGL的IE11,至從一年前有人泄露IE11將支持WebGL就引得業界一片興奮,千呼萬喚始出來后居然還有那么多缺陷,但終歸還是大好事,邁出第一步是最難的,相信微軟會慢慢完善,但畢竟活在當下的我們還得繼續填Shading Language上的幾個坑:

1、lineWidth不讓設置,只支持1個像素的連線,只能用一個像素將就著,或者把線采用構建模型的重方式來替代

2、Stencil buffers還不支持,clearStencil之類的函數就不要考慮用了

3、TRIANGLE_FAN類型不支持,這個還好辦,改用TRIANGLES替代頂多增加點頂點數據

4、不支持return語句,你妹的這個問題讓我苦苦找了半天才發現,只能改變代碼邏輯不用return的方式

目前我遇到的就這些坑了,有摔倒在其他坑的同學可以繼續補充,采用threejsbabylonjsHightopoHT for Web等3D引擎封裝的框架自然都會幫我們應用層屏蔽這些坑,但相信很多引擎并還未對IE11做考慮,畢竟這哥們市場占有率還不高,等足夠高了值得考慮時也許微軟自己已經填補好了坑,無需我們再操心了,但已微軟發布新瀏覽器版本的節奏,我只能說我們有生之年肯定等得到。

原文鏈接:http://my.oschina.net/xhload3d/blog/206993

責任編輯:林師授 來源: oschina
相關推薦

2013-06-26 13:25:43

IE11瀏覽器

2013-07-22 13:23:45

2021-04-05 18:00:29

Vue 3IE11尤雨溪

2009-08-14 09:20:40

抵制IE6

2011-11-08 11:07:26

2009-08-13 10:12:07

IE的CSS Bug

2014-08-14 11:07:14

微軟IE

2013-09-22 09:55:14

2010-02-01 08:41:23

GoogleIE6

2010-08-19 10:56:55

JSIE6IE7

2010-09-06 15:06:29

IE6IE7Firefox

2021-10-04 18:55:46

Google搜索谷歌IE 11

2013-06-26 10:13:28

IE11瀏覽器

2010-08-18 10:24:51

IE6IE7IE8

2013-04-22 09:32:36

TwitterIE6IE7

2010-08-18 09:11:11

IE6

2010-08-17 16:18:23

IE6IE7FF

2010-09-16 13:17:31

IE6IE7IE8

2010-08-20 09:33:22

IE6IE7IE8

2011-05-17 10:33:44

IE6
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产日韩欧美在线观看 | 亚洲欧美一区二区三区视频 | 亚洲精品区 | 台湾佬成人网 | 夜夜夜夜夜夜曰天天天 | 午夜久久久久久久久久一区二区 | 欧美日韩国产不卡 | 日韩久草 | av国产在线观看 | 成人午夜视频在线观看 | 欧美一区二区免费 | 欧美在线国产精品 | 羞羞视频在线网站观看 | 亚洲视频www | 久久久久久久夜 | 久久久久久亚洲精品不卡 | 99精品视频免费观看 | 久久在线看 | 一区二区三区四区在线视频 | 国产91久久久久蜜臀青青天草二 | www.伊人.com | 国产真实乱对白精彩久久小说 | 国产综合欧美 | 久久精品一二三影院 | 精品欧美一区二区在线观看视频 | 欧美日韩一二三区 | 一级免费毛片 | 久久久美女| 欧美日韩精品在线一区 | 日韩一二三区视频 | 国产乱码精品一区二区三区中文 | 中文字幕一区二区三区精彩视频 | 久久久国产精品网站 | 国产精品久久久久久久久久久免费看 | 国产精品美女久久久av超清 | 国产精品成人在线播放 | 午夜国产 | 国产久| 91文字幕巨乱亚洲香蕉 | av国产精品 | 国产成人精品午夜视频免费 |