Nút toàn màn hình của một game hoặc bản trình diễn 3D không nhất thiết điều khiển toàn bộ cửa sổ trình duyệt. Thông thường, nó gọi yêu cầu fullscreen cho một phần tử HTML, chẳng hạn vùng canvas. Vì vậy, nút trong game và lệnh toàn màn hình của trình duyệt là hai cơ chế khác nhau; một cơ chế có thể thất bại trong khi cơ chế kia vẫn hoạt động.
Vì sao lần bấm nút có thể không thành công?
Trình duyệt thường chỉ cho phép yêu cầu fullscreen khi lệnh được thực hiện trực tiếp trong chuỗi tương tác của người dùng, như một lần nhấp hợp lệ. Quyền này còn có thể bị giới hạn bởi chính sách Permissions Policy hoặc thiết lập của iframe chứa nội dung. Xem mô tả kỹ thuật về Element.requestFullscreen() để phân biệt các điều kiện này.
Ví dụ giả định: một trình xem 3D miễn phí có nút “Toàn màn hình”. Sau khi người dùng nhấp, mã chương trình chờ xử lý tải cảnh hoặc chạy một tác vụ bất đồng bộ rồi mới gọi yêu cầu fullscreen. Khi đó, thao tác ban đầu có thể không còn được trình duyệt xem là tương tác đang hoạt động. Không có một số mili giây cố định áp dụng cho mọi trình duyệt, nên đây thường là vấn đề cần nhà phát triển sửa trong cách xử lý sự kiện.
Những bước người dùng có thể thử
Hãy nhấp một lần vào đúng nút hiển thị “Toàn màn hình”, không nhấp lặp lại liên tục. Nếu trình duyệt hiện lời nhắc hoặc biểu tượng liên quan đến fullscreen, hãy đọc và chọn tùy chọn phù hợp. Nếu nội dung đã vào fullscreen, hãy dùng hướng dẫn thoát đang hiện trên màn hình hoặc phím Escape theo cách trình duyệt cung cấp.
Không cần xác nhận nhiều lần, thanh toán, cấp toàn bộ quyền cho trang, hay tìm cách vượt giới hạn của iframe. Bạn cũng có thể thử lệnh fullscreen ở cấp trình duyệt nếu có sẵn. Nếu lệnh đó hoạt động nhưng nút bên trong nội dung nhúng không hoạt động, dấu hiệu này chưa chứng minh GPU bị lỗi; nó nghiêng hơn về vấn đề quyền nhúng hoặc cách nút được lập trình.
Thông tin nên gửi cho bên phát triển
Hãy ghi rõ nội dung chạy ở trang độc lập hay trong iframe, nhãn chính xác của nút, trình duyệt và phiên bản đang dùng, cùng việc fullscreen của trình duyệt có hoạt động hay không. Nếu nút chỉ hỏng sau khi cảnh 3D tải xong, hãy nêu thời điểm đó. Đây là dữ liệu hữu ích để nhà phát triển kiểm tra chuỗi tương tác người dùng, quyền fullscreen và cấu hình iframe; người dùng không cần tự sửa header hay mã trang.