Presentation API簡介

2014-08-04 14:27:08來源:威易網(wǎng)作者:

Presentation API的目標(biāo)就是讓投影儀或TV這樣的第二顯示設(shè)備能夠被Web使用,包括所有通過有線(HDMI,DVI等)連接以及通過無線(MiraCast, Chromecast, DLNA, AirPlay等)的設(shè)備。這個(gè)API所做的就是在請(qǐng)求頁面與第二顯示設(shè)備上的演示頁面之間實(shí)現(xiàn)消息互通。

Presentation API的目標(biāo)就是讓投影儀或TV這樣的第二顯示設(shè)備能夠被Web使用,包括所有通過有線(HDMI,DVI等)連接以及通過無線(MiraCast, Chromecast, DLNA, AirPlay等)的設(shè)備。這個(gè)API所做的就是在請(qǐng)求頁面與第二顯示設(shè)備上的演示頁面之間實(shí)現(xiàn)消息互通。

請(qǐng)注意該API細(xì)節(jié)并不屬于W3C標(biāo)準(zhǔn),也不在W3C標(biāo)準(zhǔn)計(jì)劃當(dāng)中。這個(gè)API需要通過window.navigator對(duì)象下的presentation屬性來使用。該屬性提供了一個(gè)叫requestSession()函數(shù),以及present和availablechange兩個(gè)事件。requestSession()函數(shù)可以用來啟動(dòng)或恢復(fù)第二顯示設(shè)備上的演示。它會(huì)返回一個(gè)session對(duì)象指代當(dāng)前的演示。當(dāng)通過requestSession()傳入的url里面的演示內(nèi)容被加載完成后,演示屏幕的頁面會(huì)收到present事件。最后,在第一張演示出現(xiàn)后或者最后一張演示完成后會(huì)發(fā)出availablechange事件。

舉個(gè)例子,來自規(guī)范文檔,該API的用法如下所示:

<button disabled>Show</button>
 
<script>
var presentation = navigator.presentation,
    showButton = document.querySelector('button');
  
presentation.onavailablechange = function(e) {
  showButton.disabled = !e.available;
  showButton.onclick = show;
};
  
function show() {
  var session = presentation.requestSession('http://example.org/');
  
  session.onstatechange = function() {
    switch (session.state) {
      case 'connected':
        session.postMessage(/*...*/);
        session.onmessage = function() { /*...*/ };
        break;
      case 'disconnected':
        console.log('Disconnected.');
        break;
    }
  };
}
</script>

如果你想要了解更多關(guān)于Presentation API的消息,可以看看最終報(bào)告。

關(guān)鍵詞:javascriptAPI

贊助商鏈接: