2015-03-24 2 views
19

Мы пытаемся запустить наше веб-приложение как полноэкранное веб-приложение. Я получил эту работу, используя эти мета-теги:Как выйти из полноэкранного веб-приложения

<meta name="apple-mobile-web-app-capable" content="yes"> 
    <meta name="apple-mobile-web-app-status-bar-style" content="default"> 
    <meta name="apple-mobile-web-app-title" content="Full Screen"> 

Так что теперь при запуске веб-приложения с домашнего экрана на iPhone или Android устройств, она будет запущена в полном объеме (без элементов управления браузера).

Теперь нам нужен способ, чтобы позволить пользователю уйти, я надеялся создать меню, которое было кнопки бросить курить, но с использованием window.close() дает мне следующую ошибку в хроме:

Scripts may close only the windows that were opened by it. 

Каким будет правильный способ справиться с этим?

ответ

5

Один из способов закрыть полноэкранный режим, чтобы использовать следующий скрипт:

function exitFullScreen(element) { 
     var requestMethod = element.exitFullscreen || 
                element.mozCancelFullScreen || 
                element.webkitExitFullscreen || 
                element.msExitFullscreen; 
     if (requestMethod) { 
       requestMethod.call(element); 
     } else { 
       console.log("Oops. Request method false."); 
      } 
    } 

А потом называют это это нравится:

 var $smallscreenButton = $("#smallscreen-button"); 
     $smallscreenButton.on("click", function() { 
        var elem = document; 
        exitFullScreen(elem); 
     }); 

Ошибка вы поэтапную с window.close() заключается в том, что вы должны открыть окно внутри того же javascript с помощью window.open(), а затем оно должно быть правильно закрыто. Вы просто не можете закрыть случайные окна с помощью javascript, поэтому вы не можете позвонить близко, не открывая сначала.

Так, СТГ, как:

var myWindow = window.open(); 
myWindow.close(); // this works. 

Источники:

[1] How can we programmatically enter and exit the fullscreen mode in javascript?

[2] window.close() doesn't work - Scripts may close only the windows that were opened by it

+0

WebKit один делает трюк в сафари (iPhone) и хром (Android) – mico

2

Вот хороший учебник по How to user HTML5 fullscreen api

С, что , выход Полный экран:

if (document.exitFullscreen) { 
    document.exitFullscreen(); 
} else if (document.webkitExitFullscreen) { 
    document.webkitExitFullscreen(); 
} else if (document.mozCancelFullScreen) { 
    document.mozCancelFullScreen(); 
} else if (document.msExitFullscreen) { 
    document.msExitFullscreen(); 
} 

Вы можете написать код выше в методе клик любого DOM элемента, как, скажем, с помощью JQuery:

$("#exitFullScreen").click(function(){ 
    // the above code 
     if (document.exitFullscreen) { 
     document.exitFullscreen(); 
    } else if (document.webkitExitFullscreen) { 
     document.webkitExitFullscreen(); 
    } else if (document.mozCancelFullScreen) { 
     document.mozCancelFullScreen(); 
    } else if (document.msExitFullscreen) { 
     document.msExitFullscreen(); 
    } 
}); 

Другие ссылки:

  1. https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode

  2. http://davidwalsh.name/fullscreen

  3. http://johndyer.name/native-fullscreen-javascript-api-plus-jquery-plugin/

  4. http://updates.html5rocks.com/2011/10/Let-Your-Content-Do-the-Talking-Fullscreen-API

Смежные вопросы