文章目錄 [隱藏] 在談到krpano的html5和flash之前,您需要先閱讀: 循序漸進(jìn)(6)- 為何本地預(yù)覽時(shí)在瀏覽器中顯示錯(cuò)誤 在上面的教程中,簡單講解了在html文件中操作krpano選擇何種內(nèi)核進(jìn)行瀏覽的問題,從而避免了本地瀏覽的黑屏問題。在本次教程中,我們來相對深入地談?wù)刱rpano中關(guān)于HTML5和Flash的話題。
HTML5和Flash是krpano的全景瀏覽引擎全景圖無論是切片前或切片后,它本質(zhì)就是圖片文件。krpano要做的事情就是讓這些“平面”的全景圖在瀏覽器窗口中呈現(xiàn)出“三維”效果。因此krpano準(zhǔn)備兩個(gè)引擎來完成此事,一個(gè)是HTML5,一個(gè)是Flash。換句話說,當(dāng)你看到krpano制作的全景時(shí),它當(dāng)前所使用的全景瀏覽引擎可能是HTML5也可能是Flash,使用的哪一套取決于你的設(shè)置以及當(dāng)前瀏覽器和設(shè)備。為什么會(huì)有兩套引擎呢?最早在2008年時(shí),也正是flash處于頂峰的時(shí)代,krpano是以flash作為引擎發(fā)布其最初的版本的,當(dāng)時(shí)還沒有所謂的智能手機(jī),也不用考慮手機(jī)端平板端的事情,krpano只需要考慮在pc端的全景展示效果,flash本身已經(jīng)發(fā)展到自身的登峰造極,在當(dāng)時(shí),將其作為全景引擎是非常合適的,同時(shí)也有很多其它全景軟件使用flash編寫內(nèi)核。 即使到現(xiàn)在,flash在pc上的穩(wěn)定性仍然要比HTML5好。這也是為什么迄今krpano還沒有完全放棄flash的原因。事實(shí)上,就算是pano2VR也是雙引擎的。那么既然flash如此穩(wěn)定,為什么現(xiàn)在拋棄之聲卻日漸高漲?原因在于flash不夠用了。具體可以看 HTML5 真能代替 Flash 嗎? – Adobe Flash – 知乎 flash在全景里也是不夠用的。尤其是在移動(dòng)端,它在蘋果手機(jī)上無法運(yùn)行,安卓手機(jī)也不會(huì)預(yù)裝flash player。因此可以說移動(dòng)端基本是不支持flash,再加上諸如VR這些特性flash也么有很好的支持,而這都是當(dāng)前的熱點(diǎn)。因此krpano在很早的時(shí)候就注意到這一點(diǎn),并開始開發(fā)html5內(nèi)核,也就是使用同一批xml文件可在不同的設(shè)備上使用不同的內(nèi)核。在krpano的發(fā)展過程中,對html5的優(yōu)先應(yīng)用是越來越明顯。在1.19 pr3中,是優(yōu)先默認(rèn)使用html內(nèi)核的。
如何判斷當(dāng)前瀏覽器使用的是HTML5還是Flash既然krpano也就是使用這兩個(gè)引擎的其中之一,我們遇到的問題也往往需要判斷是在HTML5下遇到的問題還是flash下的問題。所以我們要知道在當(dāng)前瀏覽器下用的是哪個(gè)內(nèi)核。在移動(dòng)端包括手機(jī)和平板基本上是百分一百都是使用html5內(nèi)核了。這里說的是pc端(不包括mac電腦)。因?yàn)閜c端上面的瀏覽器種類繁多,而且本地時(shí)又有各種安全限制,因此并不能單從瀏覽器本身來確定krpano會(huì)調(diào)用哪個(gè)內(nèi)核。有兩個(gè)方法查看: 一 單擊鼠標(biāo)右鍵,如果右鍵中出現(xiàn)flash字樣,則當(dāng)前使用的是flash內(nèi)核;如右鍵中出現(xiàn)的是HTML5字樣,則使用的是H5內(nèi)核。 二 點(diǎn)擊鍵盤上的O鍵,會(huì)彈出信息窗口,如下圖,判斷方法類似于第一個(gè)方法。
如何“手動(dòng)”控制krpano使用哪一個(gè)引擎實(shí)際上這就是循序漸進(jìn)(6)的內(nèi)容, 我們可以在html文件中找到embedpano這個(gè)方法
注意里面有個(gè)html5元素,其數(shù)值是prefer,具體在1.18之后還有個(gè)flash的元素 html5:”auto”
flash:””
krpano 1.19新增了三目運(yùn)算符,因此也可以這樣寫:
本地的時(shí)候document.domain是沒有的,因此html5賦值為auto,放到網(wǎng)上時(shí)有了域名,因此html5賦值為prefer。
krpano的插件也有HTML5和Flash除了xml寫的插件,大部分插件為了兼容HTML5和Flash,也要有對應(yīng)的不同版本的HTML5和flash的插件。例如視頻播放插件videoplayer,就有swf版本和js版本。通常在1.19可以這樣調(diào)用
而在1.19以下,則是這樣寫:
上述的用法也可以用在像layer和hotspot這樣需要指定的url的元素中。
|
|