2008-10-23 8 views
12

Ich möchte eine psychologische Studie durchführen, bei der die Teilnehmer große Bilder betrachten müssen.Könnte eine Website den Browser zwingen, in den Vollbildmodus zu wechseln?

Das Experiment ist im Internet und daher in einem Browserfenster gemacht. Ist es möglich, dem Browser zu sagen, dass er in den Vollbildmodus wechseln soll, zum Beispiel beim Drücken der Taste?

Ich weiß, dass es die Möglichkeit gibt, ein Popup-Fenster fester Größe zu öffnen. Denkst du, dass dies eine machbare Alternative wäre? Und wenn, was wäre der beste Weg, es zu tun? Gibt es elegante Möglichkeiten, einen Popup-Blocker zu erkennen, zu Fallbacken und die Studie im ursprünglichen Browserfenster auszuführen.

Das Hauptproblem ist, dass die Teilnehmer dieser Studie mit technischen Details nicht vertraut sind und nicht von ihnen gestört werden sollten.

+0

Gerade festgestellt, dass diese Frage jetzt mit der Einführung von HTML5-Video eine neue Relevanz hat. HTML5-Videoplayer können keine echte Vollbildfunktion bereitstellen. In der Tat ist dies ein Sicherheitsproblem. – ypnos

+0

Es gibt viele Duplikate dieser Frage: http://stackoverflow.com/questions/1125084/how-to-make-in-jspicis-full-screen-windows-stretching-all-over-the-screen –

Antwort

5

Ich habe nach der Suche etwas Code gefunden.

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"); 
     } 
    } 
} 

Es wird HTML5 API verwenden. Ich wechsle mit jQuery das ein spezielles Bild dafür. Hoffe das wird helfen. Im Moment weiß ich nicht, ob Sie es erzwingen können, denn es wurde für gebührende Sicherheit gesorgt.

+0

Ja, das ist heute die richtige Antwort. Diese Funktion war nicht verfügbar, als ich gefragt habe. ;-) Danke, dass du dir Zeit für eine späte Antwort genommen hast. Du wirst wahrscheinlich ein Abzeichen dafür bekommen. – ypnos

+0

@Swen, mit webkitRequestFullScreen-Funktion können wir nur Bilder im Vollbildmodus anzeigen lassen. Was ist, wenn ich möchte, dass meine gesamte Website im Vollbildmodus mit einem Klick angezeigt wird? –

+0

@ Ng2-Fun Sie können jedes beliebige Element im Vollbildmodus erstellen. Wenn Sie es nicht mit "body" oder "document" tun können, wickeln Sie einfach die gesamte Seite in ein DIV und machen Sie es Vollbild. Ich habe es schon einmal gemacht, kann mich einfach nicht mehr daran erinnern. ABER! Sie müssen dies als Reaktion auf einen Klick oder eine Geste ausführen. Sie können es nicht beim Laden der Seite, von einem Timer usw. tun. Nur durch Benutzerantwort. –

0

F11 bringt IE und Firefox in den Vollbildmodus. Ich bin mir sicher, dass es möglich ist, Vollbild zu sehen, da YouTube und andere Video-Streaming-Sites es mit Flash machen können, aber ich weiß nicht, wie mit Javascript.

1

In der Vergangenheit habe ich gesehen, Websites tun dies. Da es jedoch unglaublich nervig ist und normalerweise von Anzeigen für Websites verwendet wird, kann die Technik in den letzten Browsern blockiert sein.

Aber ich denke, der wichtige Punkt ist: es ist unglaublich nervig und in der Regel von Anzeigen für pr0n Websites verwendet, so dass Sie wahrscheinlich nicht assoziieren möchten, was solche Dinge, so Ihre wahrscheinlich am besten fragen Sie Ihre Benutzer zu maximieren Browser.

+0

Für eine interne Prozess so, ich denke, es macht Sinn. –

+0

Ich benutze es nur für eine Studie, wo die Teilnehmer eingeladen sind und sie erhalten Anweisungen im Voraus. – ypnos

+1

So lange es in den Anweisungen ausdrücklich erwähnt wird: Die Größe des Fensters (oder etwas anderes, das der Benutzer eingestellt hat) ohne Zustimmung des Benutzers zu ändern, ist im Allgemeinen keine gute Übung. –

5

Es gibt keine Möglichkeit, das aktuelle Fenster auf Vollbild, um die Größe, aber Sie können ein Popup in vollem Umfang nutzen öffnen:

<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

Danke, gibt es auch eine einfache Möglichkeit, die Originalseite beim erfolgreichen Laden des Popups zu verändern? Damit der Benutzer die Studie am Ende nicht zweimal startet. – ypnos

+0

Siehe Antwort als eine andere Antwort. –

+0

Ist diese Antwort 2012 noch relevant mit Ergänzungen in den Browserfunktionen? –

8

Sie könnten nur dem Benutzer sagen F11 zu drücken. Stellen Sie daneben ein "Warum?" Verlinke und erkläre, warum du das Gefühl hast, im Vollbildmodus zu sein.

Ich glaube nicht, dass Sie einen Browser zwingen können, Vollbild zu gehen, und in der Tat, wenn Sie dazu in der Lage wären, wäre ich wütend auf meinen Browser. Es ist zu invasiv. Sogar Flash hat Sicherheit, so dass das Erzwingen des Plugins, um zum Vollbildmodus zu gelangen, von einer Benutzerinteraktion ausgehen muss. Wenn das für Sie wichtig ist, könnte dies ein guter Grund sein, das Flash-Plug-in zu verwenden, da Sie den Go-Vollbild-Aufruf an eine irreführende Schaltfläche "Quiz starten" (oder was auch immer) anhängen könnten.

Aber bitte tun Sie das nicht. Sei einfach direkt mit dem Benutzer und sag ihnen, dass sie F11 drücken sollen.

EDIT: Ich habe gerade den Beispielcode in einem anderen Kommentar versucht und ich bin froh zu sagen, dass Firefox öffnet ein maximiertes Fenster mit einer Adressleiste, kein Vollbild-Fenster.

+0

Keine Sorge, ich möchte einen optionalen "set me fullscreen" Button geben. Gut zu wissen, dass F11 für die meisten Browser funktioniert. – ypnos

+0

F11 tut nichts für Chrome, nur FYI ... –

+4

@matt das ist nicht mehr wahr. Chrome 3 wechselt auf F11 in den Vollbildmodus. – itsadok

4

Öffnen Sie ein neues Fenster im Vollbildmodus auf IE:

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

in einem "Schließen" -Link auf seite.html Putting kann eine gute Idee sein:

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

die Eltern zu ändern versuchen Sie etwas wie:

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

Diese Funktion ist interessanter für mobile Browser, die Vollbild unterstützen. Der mobilste Browser hat keine Option für den Vollbildmodus, wenn Sie auf eine Option tippen. Sie haben die Möglichkeit, auf Vollbild umzuschalten, um ein kleines App-Feeling zu erhalten.