【问题标题】:HTML javascript fullscreenHTML javascript 全屏
【发布时间】:2015-12-19 03:22:17
【问题描述】:

我在尝试向应用中的元素添加全屏功能时遇到问题。

我基本上是这样做的:

    var launchFullScreen = function (element) {
    if(element.requestFullScreen) {
        element.requestFullScreen();
    } 
    else if(element.mozRequestFullScreen) {
        element.mozRequestFullScreen();
    } 
    else if(element.webkitRequestFullScreen) {
        element.webkitRequestFullScreen();
    }
};

var cancelFullscreen = function() {

    if(document.cancelFullScreen) {
        document.cancelFullScreen();
    } 
    else if(document.mozCancelFullScreen) {
        document.mozCancelFullScreen();
    } 
    else if(document.webkitCancelFullScreen) {
        document.webkitCancelFullScreen();
  }

};

$("#view").on("keypress", function(event){
    if(event.which == 27){
        cancelFullscreen();
    }
});

$("#view").on("click", function(event){
    console.log("view clicked");
    launchFullScreen($("#view")); 
});

我看不出我做错了什么。有什么建议吗?

【问题讨论】:

标签: javascript jquery html fullscreen


【解决方案1】:

我相信您是在 jQuery 包装元素上调用全屏,而不是元素本身。试试这个:

launchFullScreen($("#slideView").get(0));

【讨论】:

  • 感谢 Jeremy Gallant 的收获
【解决方案2】:

这里有一个解决方案:

var
view = document.querySelector("#view"),
launchFullscreen = function(element){
  var domPrefixes = 'webkit moz o ms khtml'.split(' '), i = 0, prefix = null;
  while(!(prefix = previewFrame[domPrefixes[i] + 'RequestFullScreen'])){ i++; }
  prefix.apply(element);
},
cancelFullscreen = function(){
  var domPrefixes = 'webkit moz o ms khtml'.split(' '), i = 0, prefix = null;
  while(!(prefix = previewFrame[domPrefixes[i] + 'CancelFullScreen'])){ i++; }
  prefix.apply(document);
};

view.addEventListener('click', function(){
  launchFullscreen(this);
});

view.addEventListener("keypress", function(event){
  if(event.which == 27){ cancelFullscreen(); }
});

【讨论】:

    猜你喜欢
    • 2013-11-14
    • 1970-01-01
    • 2014-01-14
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 2013-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多