Wie aktiviere ich mit JS bei einem <div>-Element den Vollbildmodus?

3 Antworten

Das funktioniert bei jedem Element. Du musst allerdings darauf achten, dass die Fullscreen-API Anfragen nur erlaubt, wenn sie während eines Events (z.B. einem Mausklick auf einen "Vollbild"-Button) erlaubt.

Dies soll verhindern, dass eine Website den Vollbildmodus erzwingt und den Nutzer so daran hindert, die Seite zu schließen.

Eine weitere Einschränkung ist, dass, falls sich das Element in einem <iframe> befindet, dieses die Eigenschaft "fullscreen" aktiviert sein muss.

Woher ich das weiß:Studium / Ausbildung – Informatikstudium
astjanselimaj 
Fragesteller
 25.02.2019, 16:33

Ja, bei mir wird auf einen Button geklickt und dann der Vollbildmodus von einem <div>-Container aktiviert.

0
astjanselimaj 
Fragesteller
 25.02.2019, 16:48
@VeryBestAnswers

Uncaught TypeError: Cannot read property 'requestFullscreen' of null

  at HTMLButtonElement.fullscreenButton.onclick (player.js:27)

0
Erzesel  25.02.2019, 16:53
@astjanselimaj

Wenn Du das ganze auch noch mit einem Autoclic im script kombinierst ...

document.getElementById("id").click()
0

Für DIV-Elemente ist kein Fullscreen-Modus vorgesehen. Das geht nur für bestimmte Elemente wie eben <video> oder <body>. Bzw. per Definition:

nur Elemente im Top-Level Dokument oder in einem <iframe> mit dem Attribut allowfullscreen können in den Vollbildmodus wechseln.

https://developer.mozilla.org/de/docs/Web/API/Element/requestFullScreen

Welche Fehlermeeldung steht denn in der JS-Konsole?

Woher ich das weiß:Berufserfahrung – Entwicklung von Apps und Websites
astjanselimaj 
Fragesteller
 25.02.2019, 16:35

Uncaught TypeError: Cannot read property 'requestFullscreen' of null

  at HTMLButtonElement.fullscreenButton.onclick (player.js:27)

0
RakonDark  25.02.2019, 16:41
@astjanselimaj

wie der Kollege schon sagt, du kannst das auf Body machen

var elem = document.body;

aber nicht auf elemente die innerhalb liegen (ausser halt die ausnahmen .)

ein workaround ist , body fullscreen , dann div dem body anpassen .

div height , width 100%

0
VeryBestAnswers  25.02.2019, 16:41
@astjanselimaj

Das heißt übersetzt:

Das Objekt null besitzt keine Methode namens 'requestFullscreen'.

Du solltest vielleicht mal überprüfen, dass das Element, für das du 'requestFullscreen' aufrufst, auch tatsächlich gültig ist.

1
VeryBestAnswers  25.02.2019, 16:37

Das hast du falsch verstanden. Normalerweise sind alle Elemente im Top-Level Dokument, außer Elemente in einem eingebetteten SVG-Element, <iframe>, <object> oder Elemente, die mit .remove() oder .removeChild() entfernt wurden.

1