2015-10-05 51 views
1

我想在全屏幕API中使用全屏幕API在全屏幕中顯示內容一切正常,除了下面的IE代碼是代碼,任何幫助將是偉大的,感謝您提前。全屏api不能用於IE

JavaScript代碼:

(function() { 
    var 
     fullScreenApi = { 
      supportsFullScreen: false, 
      isFullScreen: function() { return false; }, 
      requestFullScreen: function() {}, 
      cancelFullScreen: function() {}, 
      fullScreenEventName: '', 
      prefix: '' 
     }, 
     browserPrefixes = 'webkit moz o ms khtml'.split(' '); 

    // check for native support 
    if (typeof document.cancelFullScreen != 'undefined') { 
     fullScreenApi.supportsFullScreen = true; 
    } else {  
     // check for fullscreen support by vendor prefix 
     for (var i = 0, il = browserPrefixes.length; i < il; i++) { 
      fullScreenApi.prefix = browserPrefixes[i]; 

      if (typeof document[fullScreenApi.prefix + 'CancelFullScreen' ] != 'undefined') { 
       fullScreenApi.supportsFullScreen = true; 

       break; 
      } 
     } 
    } 

    // update methods to do something useful 
    if (fullScreenApi.supportsFullScreen) { 
     fullScreenApi.fullScreenEventName = fullScreenApi.prefix + 'fullscreenchange'; 

     fullScreenApi.isFullScreen = function() { 
      switch (this.prefix) { 
       case '': 
        return document.fullScreen; 
       case 'webkit': 
        return document.webkitIsFullScreen; 

       default: 
        return document[this.prefix + 'FullScreen']; 
      } 
     } 
     fullScreenApi.requestFullScreen = function(el) { 
      return (this.prefix === '') ? el.requestFullScreen() : el[this.prefix + 'RequestFullScreen'](); 
     } 
     fullScreenApi.cancelFullScreen = function(el) { 
      return (this.prefix === '') ? document.cancelFullScreen() : document[this.prefix + 'CancelFullScreen'](); 
     }  
    } 

    // jQuery plugin 
    if (typeof jQuery != 'undefined') { 
     jQuery.fn.requestFullScreen = function() { 

      return this.each(function() { 
       var el = jQuery(this); 
       if (fullScreenApi.supportsFullScreen) { 
        fullScreenApi.requestFullScreen(el); 
       } 
      }); 
     }; 
    } 

    // export api 
    window.fullScreenApi = fullScreenApi; 
})(); 

</script> 

<script> 


var fsButton = document.getElementById('fsbutton'); 
var fsElement = document.getElementById('container'); 




if (window.fullScreenApi.supportsFullScreen) { 

// handle button click 
fsButton.addEventListener('click', function() { 
    //alert(fsElement); 
    window.fullScreenApi.requestFullScreen(fsElement); 
    //alert("hi"); 
}, true); 

fsElement.addEventListener(fullScreenApi.fullScreenEventName, function()  { 
    if (fullScreenApi.isFullScreen()) { 
     alert("yes"); 
     //fsStatus.innerHTML = 'Whoa, you went fullscreen'; 
    } else { 
     alert("no"); 
    // fsStatus.innerHTML = 'Back to normal'; 
    } 
}, true); 

} else { 
alert("no"); 
// fsStatus.innerHTML = 'SORRY: Your browser does not support FullScreen'; 
} 

</script> 

HTML代碼:

<div> 
    <div id="container" > 
    ..... content goes here 
    </div> 
    <input type="button" id="fsbutton" title="View Full Screen"> 
</div> 
+0

在IE控制檯中出現錯誤嗎? –

+0

哪條線路故障?什麼是錯誤? –

+0

它說什麼都沒有,沒有錯誤信息 – 3bu1

回答

1

我沒有嘗試,但我認爲這是因爲IE doesn't use the camelCase"cancelFullscreen""Fullscreen""requestFullscreen",這是實際的live standard recommandation順便說一句。

這次其他瀏覽器是錯誤的。

+0

這裏是全屏的鏈接https://msdn.microsoft.com/en-us/library/dn265028(v=vs.85).aspx但我沒有得到它。請任何幫助。 – 3bu1

+0

當你的代碼查找Element.requestFullScreen()時,語法是'Element.requestFullscreen();'注意Full ** S ** creen – Kaiido

+0

中的'S',但這隻適用於IE11..that壞消息..!! – 3bu1