2008-10-23 94 views
12

Tôi muốn chạy một nghiên cứu tâm lý mà người tham gia phải xem những hình ảnh lớn.Trang web có thể buộc trình duyệt chuyển sang chế độ toàn màn hình không?

Thử nghiệm được thực hiện trên web và do đó trong cửa sổ trình duyệt. Có thể yêu cầu trình duyệt chuyển sang chế độ toàn màn hình, ví dụ như khi nhấn nút?

Tôi biết có khả năng mở cửa sổ bật lên có kích thước cố định. Bạn có nghĩ đây sẽ là một lựa chọn khả thi? Và nếu, cách tốt nhất để làm điều đó là gì? Có cách nào thanh lịch để phát hiện một trình chặn quảng cáo, để dự phòng và chạy nghiên cứu trong cửa sổ trình duyệt gốc.

Mối quan tâm chính là những người tham gia nghiên cứu này không quen thuộc với các chi tiết kỹ thuật và không nên bị làm phiền bởi chúng.

+0

Chỉ thấy rằng câu hỏi này có mức độ phù hợp mới ngay bây giờ với việc giới thiệu video HTML5. Trình phát video HTML5 không thể cung cấp chức năng toàn màn hình thực. Thật vậy, đây là một vấn đề an ninh. – ypnos

+0

Có nhiều bản sao của câu hỏi này: http://stackoverflow.com/questions/1125084/how-to-make-in-javascript-full-screen-windows-stretching-all-over-the-screen –

Trả lời

5

Tôi đã tìm thấy một số mã sau khi tìm kiếm.

function fullscreen() { 
    var element = document.getElementById("content"); 
    if (element.requestFullScreen) { 
     if (!document.fullScreen) { 
      element.requestFullscreen(); 
      $(".fullscreen").attr('src',"img/icons/panel_resize_actual.png"); 
     } else { 
      document.exitFullScreen(); 
      $(".fullscreen").attr('src',"img/icons/panel_resize.png"); 
     } 

    } else if (element.mozRequestFullScreen) { 

     if (!document.mozFullScreen) { 
      element.mozRequestFullScreen(); 
      $(".fullscreen").attr('src',"img/icons/panel_resize_actual.png"); 
      google.maps.event.trigger(map, 'resize'); 
     } else { 
      document.mozCancelFullScreen(); 
      $(".fullscreen").attr('src',"img/icons/panel_resize.png"); 
     } 

    } else if (element.webkitRequestFullScreen) { 

     if (!document.webkitIsFullScreen) { 
      element.webkitRequestFullScreen(); 
      $(".fullscreen").attr('src',"img/icons/panel_resize_actual.png"); 
      google.maps.event.trigger(map, 'resize'); 
     } else { 
      document.webkitCancelFullScreen(); 
      $(".fullscreen").attr('src',"img/icons/panel_resize.png"); 
     } 
    } 
} 

Nó sẽ sử dụng html5 api. Tôi chuyển đổi với jquery một hình ảnh đặc biệt cho nó. Hy vọng rằng sẽ giúp đỡ. Tại thời điểm này, tôi không biết nếu bạn có thể ép buộc nó, bởi vì nó đã bị cấm do an ninh.

+0

Vâng, đây là câu trả lời đúng ngay hôm nay. Tính năng này không khả dụng khi tôi hỏi. ;-) Cảm ơn bạn đã dành thời gian cho một câu trả lời muộn. Bạn có thể sẽ nhận được một huy hiệu cho nó. – ypnos

+0

@Swen, với chức năng webkitRequestFullScreen, chúng tôi chỉ có thể hiển thị hình ảnh ở chế độ toàn màn hình. Điều gì sẽ xảy ra nếu tôi muốn toàn bộ trang web của tôi hiển thị ở chế độ toàn màn hình với nút bấm? –

+0

@ Ng2-Fun Bạn có thể tạo bất kỳ phần tử nào bạn muốn toàn màn hình. Nếu bạn không thể làm điều đó với "cơ thể" hoặc "tài liệu", chỉ cần bọc toàn bộ trang trong một DIV và làm cho nó toàn màn hình. Tôi đã thực hiện nó trước đây, chỉ không thể nhớ làm thế nào. NHƯNG! Bạn phải làm điều này để phản hồi lại nhấp chuột hoặc cử chỉ. Bạn không thể thực hiện việc tải trang, từ bộ hẹn giờ, v.v. Chỉ do người dùng phản hồi. –

0

F11 đưa IE và Firefox vào chế độ toàn màn hình. Tôi chắc chắn rằng nó có thể để toàn màn hình, kể từ YouTube và các trang web video streaming khác có thể làm điều đó với Flash, nhưng tôi không biết làm thế nào với javascript.

1

Trước đây, tôi đã thấy các trang web thực hiện việc này. Tuy nhiên, vì nó vô cùng khó chịu và thường được quảng cáo cho các trang web pr0n, kỹ thuật này có thể bị chặn trong các trình duyệt gần đây. Nhưng tôi nghĩ điểm quan trọng là: nó cực kỳ khó chịu và thường được quảng cáo cho các trang web pr0n, vì vậy bạn có thể không muốn kết hợp với chính mình những thứ như vậy, vì vậy có lẽ tốt nhất bạn nên yêu cầu người dùng của bạn tối đa hóa trình duyệt.

+0

Đối với nội bộ quá trình như thế này, tôi nghĩ nó có ý nghĩa. –

+0

Tôi chỉ sử dụng nó cho một nghiên cứu mà người tham gia được mời và họ sẽ nhận được hướng dẫn trước. – ypnos

+1

Miễn là nó được đề cập cụ thể trong hướng dẫn: thay đổi kích thước của cửa sổ (hoặc bất kỳ điều gì khác mà người dùng đặt cụ thể) mà không có sự đồng ý của người dùng nói chung là không tốt. –

5

Không có một cách để thay đổi kích thước cửa sổ hiện hành để toàn màn hình, nhưng bạn có thể mở một cửa sổ bật lên trên toàn màn hình:

<script type="text/javascript"> 
<!-- 
function popup(url) 
{ 
params = 'width='+screen.width; 
params += ', height='+screen.height; 
params += ', top=0, left=0' 
params += ', fullscreen=yes'; 

newwin=window.open(url,'windowname4', params); 
if (window.focus) {newwin.focus()} 
return false; 
} 
// --> 
</script> 

<a href="javascript: void(0)" 
    onclick="popup('popup.html')">Fullscreen popup window</a> 
+0

Cảm ơn bạn, cũng có khả năng dễ dàng thay đổi trang gốc khi tải thành công cửa sổ bật lên không? Để người dùng không bắt đầu nghiên cứu hai lần cuối cùng .. – ypnos

+0

Xem câu trả lời dưới dạng câu trả lời khác. –

+0

Câu trả lời này vẫn có liên quan trong năm 2012 với các tính năng bổ sung trong trình duyệt? –

8

Bạn chỉ có thể nói với người dùng nhấn F11. Bên cạnh nó, đặt 'tại sao?' liên kết và giải thích lý do tại sao bạn cảm thấy họ cần phải ở chế độ toàn màn hình.

Tôi không nghĩ rằng bạn có thể buộc trình duyệt phải xem toàn màn hình và trên thực tế, nếu bạn có thể làm điều đó, tôi sẽ rất tức giận với trình duyệt của mình. Nó quá xâm lấn. Ngay cả Flash cũng có bảo mật để buộc plugin chuyển sang chế độ toàn màn hình yêu cầu sự kiện bắt nguồn bằng tương tác của người dùng. Vì vậy, nếu điều đó quan trọng đối với bạn, đây có thể là lý do tốt để sử dụng plugin Flash vì bạn có thể đính kèm cuộc gọi đi toàn màn hình vào nút gây hiểu lầm cho biết 'bắt đầu bài kiểm tra' (hoặc bất kỳ thứ gì).

Nhưng, đừng làm thế. Chỉ cần được thẳng về phía trước với người sử dụng và nói với họ để nhấn F11.

EDIT: Tôi vừa thử mã mẫu được cung cấp trong một nhận xét khác và tôi rất vui khi nói rằng Firefox sẽ mở ra một cửa sổ được tối đa hóa với thanh địa chỉ chứ không phải cửa sổ toàn màn hình.

+0

Đừng lo lắng, tôi muốn cung cấp nút tùy chọn "đặt chế độ toàn màn hình" cho tôi. Điều cần biết là F11 hoạt động trên hầu hết các trình duyệt. – ypnos

+0

F11 không có gì cho Chrome, chỉ cần FYI ... –

+4

@matt điều này không còn đúng nữa. Chrome 3 chuyển sang chế độ toàn màn hình trên F11. – itsadok

4

Mở một cửa sổ mới trong chế độ toàn màn hình trên IE:

<script> 
<!-- 
window.open("page.html","fs","fullscreen,scrollbars") 
//--> 
</script> 

Đưa vào "Close" liên kết trên page.html có thể là một ý tưởng tốt:

<a href="#" onclick="window.close()">Close Window</a> 
1

Để sửa đổi phụ huynh cửa sổ, hãy thử một cái gì đó như:

window.opener.location.href = '/confirmation/page.html'; 
0

Tính năng này thú vị hơn đối với các trình duyệt di động, hỗ trợ toàn màn hình. Trình duyệt di động nhất sẽ không có tùy chọn cho toàn màn hình bằng cách nhấn vào tùy chọn. Bạn có thay đổi để chuyển sang chế độ toàn màn hình để có cảm giác ứng dụng nhỏ.

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