2012-10-10 41 views
9

Tôi đang cố gắng để làm cho một ứng dụng chạy ở chế độ toàn màn hình (không có thanh trên cùng) trong Safari cho iOS 6. Mã này được như sau:Toàn màn hình api HTML5 và 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(); 
} 

Nó hoạt động tốt trên các trình duyệt trên máy tính để bàn. Nhưng trong Mobile Safari (iOS) 6 không hoạt động.

Bất kỳ ý tưởng nào về vấn đề này?

Trả lời

15

Nó không được hỗ trợ ...

http://caniuse.com/fullscreen

+0

đây là câu trả lời đúng kể từ ngày 1 tháng 12 năm –

+1

đây là câu trả lời đúng kể từ ngày 11 tháng 2 năm 2015 (sử dụng meta thay thế?) – molokoloco

+2

Đây vẫn là câu trả lời chính xác kể từ ngày 11 tháng 9 năm 2017. Rất tiếc, điều này sẽ có đã cứu tôi một ngày phát triển khác. – manish

5

Bạn không thể sử dụng toàn bộ màn hình. Nếu bạn đặt thẻ meta chính xác và đặt ứng dụng web trên màn hình chính, bạn có thể loại bỏ tất cả các chuyến đi trên safari, nhưng bạn vẫn còn lại với thanh trạng thái iOS (kết nối, đồng hồ, pin).

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

Có một số tài nguyên cho điều này, đây là một trong những Tôi đã sử dụng:

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

tài liệu riêng của Apple được tốt cũng như:

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

Nhưng, trong ngắn hạn, bạn không thể, như iOS 6.1, triển khai một ứng dụng web toàn màn hình trên các thiết bị iOS. Thanh trạng thái sẽ luôn xuất hiện.

+0

Tham khảo tốt. Nhưng tôi có một câu hỏi về chế độ này. Bạn có biết cách đóng ứng dụng theo chương trình không? Ý tôi là với javascript. Tôi đã thử 'window.open (location.href," _self "). Close();' Nhưng nó không hoạt động. Cảm ơn – Maxbester

1

Sau đây cuộn thanh trạng thái trong iOS ra khỏi đường đi. Gọi nó sớm trong $ của bạn (tài liệu) .ready

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

Điều này làm việc trong phiên bản 6.x tại thời điểm này nhưng dường như không hoạt động trong phiên bản beta của trình duyệt iOS7. Như mọi khi, thanh công cụ của trình duyệt ở phía dưới được cố định.

1

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

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

Nó làm việc cho tôi.

+0

Điều cần biết nhưng nó chỉ dành cho video? Trừ khi bạn làm một số hacks điên - chẳng hạn như mã hóa trên bay hình ảnh tĩnh như video ... _ (có vẻ quá phức tạp) _ –

Các vấn đề liên quan