2012-10-10 47 views
9

我試圖使一個應用程序以全屏幕模式下運行(不頂吧)在Safari的iOS 6 的代碼如下:全屏API HTML5和Safari(iOS 6中)

var elem = document.getElementById("element_id"); 
if (elem.requestFullScreen) { 
    elem.requestFullScreen(); 
} else if (elem.mozRequestFullScreen) { 
    elem.mozRequestFullScreen(); 
} else if (elem.webkitRequestFullScreen) { 
    elem.webkitRequestFullScreen(); 
} 

它適用於桌面瀏覽器。但在移動Safari(iOS)6不起作用。

有關此問題的任何想法?

回答

15

它不支持......

http://caniuse.com/fullscreen

+0

這是截至12月1日的正確答案 –

+1

這是截至2015年2月11日的正確答案(使用meta代替?) – molokoloco

+2

截至2017年9月11日,這仍然是正確的答案。爲我節省了另一天的發展。 – manish

5

不能使用全屏幕。如果你正確設置元標記,並將Web應用程序放在主屏幕上,那麼你可以擺脫所有的Safari瀏覽器,但你仍然留有iOS狀態欄(連接,時鐘,電池)。

<meta name="apple-mobile-web-app-capable" 
    content="yes" /> 
<meta name="apple-mobile-web-app-status-bar-style" 
    content="black-translucent" /> 

有許多這種資源,這是我一直在使用一個:

http://matt.might.net/articles/how-to-native-iphone-ipad-apps-in-javascript/

蘋果自己的文檔以及良好:

http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html

但是,簡而言之,你不能像iOS 6.1那樣在iOS設備上部署全屏Web應用程序。狀態欄將始終存在。

+0

很好的參考。但我對這種模式有疑問。你知道如何以編程方式關閉應用程序嗎?我的意思是用JavaScript。我試過'window.open(location.href,「_self」)。close();'但它不起作用。謝謝 – Maxbester

1

以下內容會在iOS中滾動狀態欄。說它早在$(文件)。就緒

$('body').scrollTop(1); 

這個工作在高達6.x版本此刻卻沒有出現在iOS7瀏覽器的測試版的工作。與往常一樣,底部的瀏覽器工具欄是固定的。

1

https://developer.apple.com/reference/webkitjs/htmlvideoelement

if (elem.webkitEnterFullScreen) { 
    elem.webkitEnterFullScreen(); 
} 

這對我的作品。

+0

很高興知道,但它只適用於視頻?除非你做了一些瘋狂的黑客攻擊 - 比如將靜態圖像編碼爲視頻...... _(似乎過於複雜)_ –