日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
從IE6到IE11上運(yùn)行WebGL3D遇到的各種坑

這篇《基于HTML5的電信網(wǎng)管3D機(jī)房監(jiān)控應(yīng)用》基于WebGL技術(shù)的應(yīng)用讓少同學(xué)對(duì)HTML5 3D的應(yīng)用產(chǎn)生了興趣和信心,但有不少網(wǎng)友私信詢(xún)問(wèn)WebGL如何運(yùn)行在老的IE678910瀏覽器的問(wèn)題,畢竟作為企業(yè)應(yīng)用,用戶(hù)的機(jī)器運(yùn)行著各式各樣的辦公及業(yè)務(wù)系統(tǒng),有PB/Delphi之類(lèi)的老CS應(yīng)用,有安裝了dll和ActiveX的各種安全認(rèn)證和視頻監(jiān)控的插件,有裝著flash或svg插件的flex和SVG應(yīng)用,當(dāng)然還有支持IE6卻不支持任何非IE瀏覽器的各種OA辦公軟件,眼看著XP操作系統(tǒng)即將壽終正寢,結(jié)果還成了國(guó)內(nèi)各家安全公司的新商機(jī)《圍獵XP:誰(shuí)在瞄準(zhǔn)商機(jī)》,你說(shuō)升級(jí)機(jī)器系統(tǒng)談何容易?

創(chuàng)新互聯(lián)建站主營(yíng)云安網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,App定制開(kāi)發(fā),云安h5小程序定制開(kāi)發(fā)搭建,云安網(wǎng)站營(yíng)銷(xiāo)推廣歡迎云安等地區(qū)企業(yè)咨詢(xún)

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

安裝完該插件后,在你需要采用WebGL的頁(yè)面增加一行代碼即可,或者從服務(wù)器下發(fā)該頁(yè)面是對(duì)HTTP頭增加X(jué)-UA-Compatible: chrome=1的參數(shù)即可。

使用Google Chrome Frame還需要注意一下幾點(diǎn):

  • Google Chrome Frame不支持直接從本地local file方式打開(kāi)頁(yè)面,必須把頁(yè)面部署到Web服務(wù)器發(fā)布方式打開(kāi)才能運(yùn)行出效果

  • Google Chrome Frame不支持64位的機(jī)器:Currently, 64-bit versions of IE are not supported. It’s worth pointing out that 32-bit IE is the default on 64-bit Windows 7.

  • Google Chrome Frame不支持iframe方式: At this point ChromeFrame only supports the meta tag detection on top level URLs.

可采用嵌入OBJECT元素的解決方案,繞開(kāi)Google Chrome Frame不支持iframe的問(wèn)題

 
 
  1.         CLASSID="CLSID:E0A900DF-9611-4446-86BD-4B1D47E7DB2A"> 
  2.      
  3.     
  4.         SRC="http://www.google.com" TYPE="application/chromeframe"> 
  5.      
  6.  

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

還好,我們遇到的不少項(xiàng)目還是允許購(gòu)買(mǎi)新機(jī)器或者升級(jí)新瀏覽器系統(tǒng)的,但這并不以為這能上IE11就問(wèn)題結(jié)束了,微軟這哥們對(duì)新標(biāo)準(zhǔn)的支持要嘛落后半拍,要嘛明知標(biāo)準(zhǔn)就這樣我TMD的就不實(shí)現(xiàn)你能咋地,相信preserve-3d的CSS3功能讓多少人欣喜諾狂,的確如果CSS3的3D功能各家瀏覽器能好好實(shí)現(xiàn)很多應(yīng)用也就沒(méi)WebGL啥事了,例如著名的famo.us 的經(jīng)典元素周期表例子,尼瑪?shù)腎E使用者就無(wú)福享受,看看以下MS人的話(huà),我知道preserve-3d是w3c標(biāo)準(zhǔn),老子就不實(shí)現(xiàn),想用的自己搞蹩腳的解決方案繞道:

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的問(wèn)題下回再扯淡,那是個(gè)無(wú)窮無(wú)盡的話(huà)題,回到我們的號(hào)稱(chēng)支持WebGL的IE11,至從一年前有人泄露IE11將支持WebGL就引得業(yè)界一片興奮,千呼萬(wàn)喚始出來(lái)后居然還有那么多缺陷,但終歸還是大好事,邁出第一步是最難的,相信微軟會(huì)慢慢完善,但畢竟活在當(dāng)下的我們還得繼續(xù)填Shading Language上的幾個(gè)坑:

1、lineWidth不讓設(shè)置,只支持1個(gè)像素的連線(xiàn),只能用一個(gè)像素將就著,或者把線(xiàn)采用構(gòu)建模型的重方式來(lái)替代

2、Stencil buffers還不支持,clearStencil之類(lèi)的函數(shù)就不要考慮用了

3、TRIANGLE_FAN類(lèi)型不支持,這個(gè)還好辦,改用TRIANGLES替代頂多增加點(diǎn)頂點(diǎn)數(shù)據(jù)

4、不支持return語(yǔ)句,你妹的這個(gè)問(wèn)題讓我苦苦找了半天才發(fā)現(xiàn),只能改變代碼邏輯不用return的方式

目前我遇到的就這些坑了,有摔倒在其他坑的同學(xué)可以繼續(xù)補(bǔ)充,采用threejs,babylonjs和Hightopo的HT for Web等3D引擎封裝的框架自然都會(huì)幫我們應(yīng)用層屏蔽這些坑,但相信很多引擎并還未對(duì)IE11做考慮,畢竟這哥們市場(chǎng)占有率還不高,等足夠高了值得考慮時(shí)也許微軟自己已經(jīng)填補(bǔ)好了坑,無(wú)需我們?cè)俨傩牧耍盐④洶l(fā)布新瀏覽器版本的節(jié)奏,我只能說(shuō)我們有生之年肯定等得到。

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


名稱(chēng)欄目:從IE6到IE11上運(yùn)行WebGL3D遇到的各種坑
網(wǎng)站URL:http://www.dlmjj.cn/article/djggdes.html