2012-03-08 34 views
25

Tôi cần biết sự kiện (DOM) nào được kích hoạt khi người dùng vào chế độ toàn màn hình thông qua Fullscreen API mới. Tôi cố gắng ví dụ đoạn này, nhưng nó không cháy:API toàn màn hình: Sự kiện nào được kích hoạt?

jQuery('body').on('fullScreenChange', function() { alert("Fired!"); }); 
+0

Trình duyệt, phiên bản nào có hệ điều hành nào? Xem https://developer.mozilla.org/en/DOM/Using_full-screen_mode#AutoCompatibilityTable Bạn có sử dụng jQuery mới nhất không? – powtac

Trả lời

17

Liên kết của bạn shows the answer ...

Khi chế độ toàn màn hình là tham gia thành công, các tài liệu có chứa các yếu tố toàn màn hình nhận được sự kiện fullscreenchange. Khi chế độ toàn màn hình bị thoát, tài liệu lại nhận được sự kiện fullscreenchange. Lưu ý rằng sự kiện fullscreenchange không tự cung cấp bất kỳ thông tin nào về việc liệu tài liệu có đang nhập hoặc thoát chế độ toàn màn hình hay không, nhưng nếu tài liệu có một số không rỗng là fullScreenElement, bạn biết bạn đang ở chế độ toàn màn hình.

3

no fullscreenChange event in native jQuery. Nhưng có một số plugin của bên thứ ba mà cung cấp cho bạn truy cập vào sự kiện:

Như bạn có thể nhìn thấy trên mã của họ có không có quyền truy cập API rõ ràng vào loại sự kiện này.

60

Tôi đã sử dụng:

$(document).on('webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange', fn); 

Nó bắn cho Safari, Chrome và Firefox (đã không kiểm tra những người khác). Dường như có sự khác biệt tinh tế trong ngữ cảnh kết quả giữa webkit và moz, chiều cao và chiều rộng phần tử khác nhau. Nhưng các sự kiện cháy, đó là câu hỏi của bạn.

Oh. Và xem ra để sử dụng alert('fs') với thử nghiệm toàn màn hình. Nó thường cản trở sự thay đổi màn hình.

+0

Giải pháp lạnh. :-) – powtac

+0

re 'on' vs 'bind'. Tôi giữ cả hai, nhưng trong bản chỉnh sửa bị mất nick của trình chỉnh sửa chỉnh sửa ban đầu. Lấy làm tiếc. –

+1

webkitfullscreenchange không kích hoạt cho tôi trong Safari khi sử dụng Vimeo trong khung nội tuyến. Nó hoạt động trong chrome. –

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