Tôi nhận được phần tử video trên trang hoạt động tốt cả trên thiết bị di động và máy tính để bàn safari. Tôi có một trình đơn thả xuống seme-minh bạch đang hoạt động tốt. Vấn đề là, khi menu ở trên phần tử video, trên safari trên máy tính để bàn, tôi có thể xem video dưới menu (như mong muốn), trong khi trên phiên bản di động, phần tử video ở trên nền trước (xấu xí) bất kể tôi nói gì css. Có bất kỳ công việc xung quanh?Điện thoại di động iPad Safari dường như bỏ qua vị trí z-indexing cho các phần tử video html5
Trả lời
Sự cố chỉ xảy ra nếu phần tử video được tạo động. Nếu phần tử chỉ nằm trong trang khi nó được tải, z-index
hoạt động tốt.
Bạn có thể sửa z-index trên video được tạo động bằng cách cung cấp phần tử video -webkit-transform-style: preserve-3d
.
Vâng, điều đó cũng tệ như chơi trên IE!
Thật không may là không.
Dựa trên kinh nghiệm và sự hiểu biết về cách thức hoạt động của iOS hiện tại, điều này là không thể.
Mobile Safari trên iPad cắt một lỗ cho cửa sổ Quicktime, phát lại video bằng cách sử dụng khả năng tăng tốc phần cứng tích hợp để cải thiện thời lượng pin. (IPhone và iPod Touch chỉ mở nó trong một cửa sổ riêng để đạt được hiệu quả tương tự.)
Cửa sổ này không phát độc đáo với HTML khác trên trang. Trong thực tế, tôi đã không tìm thấy một cách để có được Safari di động để hiển thị bất cứ điều gì trên đầu trang của một thẻ. Tôi đoán là điều này là do tăng tốc phần cứng chỉ cho phép chia tỷ lệ và định vị video và chỉ có thể xử lý một video cùng một lúc.
Thật buồn. Tôi sẽ phải dừng và ẩn video khi menu được mở. Đó là một cách giải quyết xấu, hãy hy vọng ai đó đưa ra giải pháp. Dù sao cũng cảm ơn bạn. –
Nó có thể được thực hiện. như Jaffa The Cake cho biết, điều này chỉ xảy ra trên các yếu tố video được chèn động –
Tôi đã quản lý để đặt div menu trên thẻ video html5 trong safari di động trên ipad. Thành thật mà nói tôi không có bất kỳ vấn đề gì và nó chỉ hoạt động. Nó có thể được mặc dù bởi vì tôi đã sử dụng hình ảnh động CSS3 và do đó GPU? Bạn có thể thử sử dụng hack để thêm phần tử vào GPU. Nếu bạn đặt -webkit-transform: translateZ(0);
trên phần tử, nó sẽ buộc nó sử dụng GPU ...
Ngoài ra, bạn cũng có thể sử dụng '-webkit-transform-style: preserve-3d' – Martin
-webkit-transform-style:preserve-3d
và -webkit-transform:translateZ(0)
không hoạt động đối với tôi.
Sử dụng Trình tạo luồng với plugin ipad và plugin thanh điều khiển cho phép tôi xóa thanh điều khiển được tạo ipad và thay thế bằng một thứ có thể được lập chỉ mục z bên dưới cửa sổ phương thức của tôi.
Tôi cũng gặp phải điều này. Điều duy nhất tôi có thể làm việc cho tôi là thêm
display:none
vào thẻ video khi hiển thị div trên đó cần được nhấp vào.
Đó là điều duy nhất làm việc cho tôi. –
Tôi đang sử dụng trình tạo luồng và trình đơn thả xuống CSS đơn giản và có cùng vấn đề.
Tôi có trình đơn thả xuống, khi nhấn vào, bao phủ một phần của khu vực video. Menu phụ hiển thị trên video như mong đợi, nhưng không có sự kiện chạm nào được gửi đi.
tôi cố định nó bằng cách kết hợp một vài gợi ý từ những người khác trả lời câu hỏi này: Tôi thiết visibility: ẩn khi mở menu và visibility: nhìn thấy khi đóng menu con, và đặt - webkit-transform-style: bảo quản-3d Thuộc tính CSS trên video.
Đây là mã thích hợp. Tôi đã loại bỏ CSS cho thanh thực đơn, nhưng nó làm những gì bạn có thể mong đợi - dẫn đến một menu bao gồm các phần của video.
menu và video HTML
<div id='nav'>
<ul>
... <!-- bunch of ul/li stuff here for the menu and submenus -->
</ul>
</div>
<div id='videoplayer'><!-- for flowplayer --></div>
CSS
video {
-webkit-transform-style: preserve-3d;
}
Javascript
$(document).ready(function(){
$("#nav li").hover(
function() {
$(this).find('ul:first').css({visibility: "visible",display: "none"}).fadeIn(300);
$("video").css({visibility:"hidden"});
},
function(){
$(this).find('ul:first').css({visibility: "hidden"});
$("video").css({visibility:"visible"});
}
);
);
TROY BẠN LÀ NGƯỜI LIFESAVER! Câu trả lời của Troy là câu trả lời nếu bạn gặp vấn đề này: http://stackoverflow.com/questions/9951463/html5-video-layering-on-ipad – Jason
Cảm ơn câu trả lời của bạn. Tôi đang sử dụng MediaElement js và trải nghiệm cùng một vấn đề.Sau khi chuyển đổi khả năng hiển thị của video giữa 'hiển thị' và 'ẩn' bởi js, vấn đề hiển thị rối loạn của tôi đã biến mất (đối với trường hợp của tôi) :) –
Bạn có thể sửa z-index
trên video được tạo động bằng cách cung cấp phần tử video -webkit-transform-style: preserve-3d
.
Điều này làm việc cho tôi với yếu tố video được tạo động. Tôi cũng đặt z-index
của div đặt quá mức thành z-index: 888;
cũng có thể hữu ích.
Bạn cũng phải có thuộc tính HTML "điều khiển" không có mặt. Xem [vấn đề] này (http://stackoverflow.com/questions/5261079/mobile-safari-link-a-element-over-video-element-does-not-work-on-click). – BishopZ
Tôi gặp sự cố này xảy ra trên thiết bị di động có trình đơn canvas tắt. Khi menu đã qua video, bạn không thể nhấn vào bất kỳ mục menu nào.
Tôi đã khắc phục sự cố khi di chuyển video ở một nơi khác khi menu được bật bằng cách định vị nó hoàn toàn ở mức -100000px khi menu không được hiển thị, nó đặt lại vị trí tương đối.
Tôi thấy rằng việc sử dụng hiển thị không có tác dụng như khi bạn đặt nó thành chặn lại, video sẽ không hoạt động.
Tôi cũng đã thử đặt chiều cao thành 0 - điều này không hoạt động vì video vẫn dường như chiếm dung lượng mặc dù bạn không thể nhìn thấy nó.
Phương pháp cuối cùng có vẻ hơi khắc nghiệt nhưng nó không thực sự đáng chú ý khi nó đang được sử dụng.
Đây là mã sẽ hoạt động trên cả iPad và iPhone. Tôi đã thử gỡ bỏ các điều khiển và sau đó thêm chúng một lần nữa, nhưng điều này chỉ làm việc trên iPad không phải trên iPhone. Sau khi loại bỏ opacity và sau đó thêm nó một lần nữa nó làm việc trên iPhone cũng.
$("#overlay_open").click(function(){
$("video").prop("controls", false);
$("video").css("opacity", 0);
});
$("#overlay_close").click(function(){
$("video").prop("controls", true);
$("video").css("opacity", 1);
});
Chỉ cần chạy vào vấn đề này ngày hôm nay & phải rai cùng một giải pháp từ nhiều câu trả lời vì không ai xử lý đầy đủ các vấn đề ...
Tôi có yếu tố video trong một "xem bảng" danh sách phong cách sụp đổ đó đã ghi lại các sự kiện chạm trên iPhone khi cố gắng nhấn vào các mục danh sách khác. Trên iPhone, các video sẽ phát khi nhấn vào các yếu tố thu gọn khác đã xảy ra để chiếm cùng một vị trí trên màn hình.
Sửa chữa này yêu cầu tất cả các nội dung sau:
1) Sử dụng này:
video{
-webkit-transform-style: preserve-3d;
}
... dường như không có bất kỳ tác dụng, nhưng tôi rời nó trong anyway. Mọi thứ đang hoạt động ngay bây giờ nên tôi không muốn vặn vẹo thêm nữa :)
2) Toggling visibility: hidden
không hoạt động, và display:none
không hoạt động như mong đợi.
3) Ngoài "mức hiển thị", thẻ video HTML5 thuộc tính controls
cũng phải được thêm/xóa động. Hoặc:
$("video").css({visibility:"hidden"}).removeAttr("controls");
hoặc $("video").css({visibility:"visible"}).attr("controls", "controls");
4) Phải đặt tầm nhìn/điều khiển trên tải tài liệu dựa trên kích thước ban đầu trình duyệt/màn hình
5) Mặc dù mối quan tâm chính là hành vi iPhone screwy, tôi cũng đã phải tài khoản cho các thay đổi kích thước cửa sổ đáp ứng phía trên điểm ngắt truy vấn phương tiện nhỏ nhất 600px của tôi - nếu không video sẽ xuất hiện/biến mất ở kích thước màn hình sai.
$(window).resize(function(){
if ($(window).width() > 600){
$("video").css({visibility:"visible"}).attr("controls", "controls");
}
});
Khá một nỗi đau để làm việc xung quanh những gì bản chất là một điện thoại di động Safari lỗi ngu ngốc ... Tôi chắc chắn hy vọng nó hoạt động trên iPad khi tôi thử nghiệm nó sau này ...
Đối với bất cứ ai chạy vào các vấn đề với vẫn này , một bản sửa lỗi khác đã kết thúc với tôi là thay đổi các tùy chọn trong mã nhúng để không cho phép điều khiển, video được đề xuất và tùy chọn tiêu đề và trình phát video. Tôi đã thêm một Modernizr.MQ truy vấn đơn giản để thay đổi src cho máy tính bảng và điện thoại di động, và bao gồm những điều sau đây để src iframe cho điện thoại di động:
rel = 0 & điều khiển = 0 & ShowInfo = 0
tôi không bao giờ hoàn toàn theo dõi lý do tại sao điều này làm việc, nhưng tôi đoán là các điều khiển có một số kiểu tác nhân người dùng cung cấp cho họ chỉ số z cao và làm cho phần tử nằm trên đầu mọi thứ.
- 1. Nhận vị trí hiện tại của chế độ xem trong Điện thoại di động (iPhone) Safari
- 2. Video HTML5 trên IPad Safari sử dụng HTTPS
- 3. setTimeout không hoạt động trên điện thoại di động safari
- 4. Chèn video HTML5 bằng JavaScript cho iPad
- 5. cảm biến điện thoại di động
- 6. Làm cách nào để liên tục theo dõi vị trí của điện thoại di động Android?
- 7. iOS 7 điện thoại di động Safari không còn hỗ trợ <input type = "datetime" />
- 8. Vị trí địa lý của Chrome dường như bỏ qua tham số maximumAge
- 9. Có cách nào để tránh hiển thị bàn phím điện thoại di động trong safari
- 10. Vị trí địa lý điện thoại không có WiFi và mạng di động
- 11. Tại sao Safari dường như có vấn đề với vị trí css: đã sửa?
- 12. Cửa sổ iPhone.open (url, '_blank') không mở liên kết trong điện thoại di động Safari
- 13. Định vị cố định cho các trình duyệt di động
- 14. Làm thế nào để tìm (trong javascript) hiện tại "di chuyển" bù đắp trong điện thoại di động safari/iphone
- 15. Trình nghe sự kiện trong HTML5 Video trên iPad Safari không hoạt động?
- 16. window.scrollTo không hoạt động trong điện thoại di động
- 17. Chỉ thị vị trí Nginx dường như không hoạt động. Tui bỏ lỡ điều gì vậy?
- 18. Cách khắc phục sự cố hiển thị phông chữ trong Safari trên điện thoại di động?
- 19. iPhone Safari gọi điện thoại
- 20. Cách đúng để sử dụng điện thoại di động và điện thoại di động với nhiều trang html
- 21. Vị trí nền CSS không hoạt động trong Mobile Safari (iPhone/iPad)
- 22. iPad: Mobile Safari, HTML5 <video> và chuyển tiếp jquery
- 23. Phân đoạn video HTML5 trên iPad
- 24. Nút đóng trên video HTML5 (iPad)
- 25. Vị trí cố định không hoạt động trên ipad
- 26. Nền video HTML5 trên iPad/iphone
- 27. Phát hiện xem phần tử Video HTML5 có đang phát
- 28. Sử dụng WebKit (tương thích với Safari) trong delphi để mô phỏng điện thoại di động iPhone
- 29. Trong javascript 'Nếu điện thoại di động'
- 30. Hình động và Điện thoại không hoạt động trên điện thoại di động
Tôi không làm việc này; bạn có thể xin vui lòng gửi một ví dụ? –
+1 bạn đã đúng! điều này chỉ xảy ra trên các yếu tố được tạo động. Cảm ơn bạn rất nhiều :) –
Không hoạt động đối với tôi, tính năng này có hoạt động với IOS5 không? –