Autor |
Nachricht |
qualidat
Threadersteller
Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht:
|
Verfasst Do 30.04.2020 15:07
Titel Firefox, Javascript: Fullscreen funktioniert nur per Button? |
|
|
Ich habe in einem Online-Spiel diese Funktion beutzt, um den Browser in den Fullscreen-Modus zu schalten:
Code: |
function full(element)
{
if(element.requestFullscreen) {
element.requestFullscreen();
} else if(element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if(element.msRequestFullscreen) {
element.msRequestFullscreen();
} else if(element.webkitRequestFullscreen) {
element.webkitRequestFullscreen();
}
}
|
Lege ich die Funktion (ich übergebe den Body als Element) auf einen Button, klappt es, der Browser geht in den Fullscreen/Kiosk-Mode. Trage ich die Funktion aber in Body/onload ein oder in einen setTimeout (auf 1 oder 2s gesetzt) ein, passiert garnix. Warum? Danke für Tips.
|
|
|
|
|
top
Moderator
Dabei seit: 25.11.2003
Ort: Hedwig Holzbein
Alter: 52
Geschlecht:
|
Verfasst Do 30.04.2020 17:14
Titel
|
|
|
Es gibt Funktionen auf die man beim normalen Surfen nicht mag. Webseiten die sich ungefragt schon beim Öffnen auf Fullscreen schalten, gehören definitiv zu dieser lästigen Unart. Firefox scheint Fullscreen daher nur zu erlauben, wenn man dafür explizit einen Schalter drückt.
Pack doch einfach einen "Start"-Button vor dein Spiel, welches den Browser dann Fullscreen schaltet.
|
|
|
|
|
Anzeige
|
|
|
qualidat
Threadersteller
Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht:
|
Verfasst Do 30.04.2020 20:16
Titel
|
|
|
top hat geschrieben: | Es gibt Funktionen auf die man beim normalen Surfen nicht mag. Webseiten die sich ungefragt schon beim Öffnen auf Fullscreen schalten, gehören definitiv zu dieser lästigen Unart. Firefox scheint Fullscreen daher nur zu erlauben, wenn man dafür explizit einen Schalter drückt. Pack doch einfach einen "Start"-Button vor dein Spiel, welches den Browser dann Fullscreen schaltet. |
Es geht um einen Touchscreen in einem Museum, der seine Inhalte von einem NAS bezieht. Da hat der User nix zu wollen, das Ding soll einfach in Fullscreen starten ... tut aber nicht. Es gibt da so ein Plugin für Firefox, ich weiss ... aber das ist zusätzlicher Stress, weil das System eigentlich keinen Kontakt zum Internet hat/haben soll.
Ich verstehe einfach nicht, wieso es einen Unterschied gibt, ob ich ein und die selbe Funktion per Timer oder per Button-Klick aufrufe. Es ist ja kein irgendwie besonderer Button, sondern ganz gewöhnlich <button ...>...</button> mit dem Aufruf im onclick ...
Zuletzt bearbeitet von qualidat am Do 30.04.2020 20:19, insgesamt 2-mal bearbeitet
|
|
|
|
|
top
Moderator
Dabei seit: 25.11.2003
Ort: Hedwig Holzbein
Alter: 52
Geschlecht:
|
Verfasst Fr 01.05.2020 11:14
Titel
|
|
|
qualidat hat geschrieben: | ...
Ich verstehe einfach nicht, wieso es einen Unterschied gibt, ob ich ein und die selbe Funktion per Timer oder per Button-Klick aufrufe. Es ist ja kein irgendwie besonderer Button, sondern ganz gewöhnlich <button ...>...</button> mit dem Aufruf im onclick ... |
Wenn das automatisch per Timer passiert, hast du als Besucher nicht die Kontrolle darüber wann dein Browserfenster in Fullscreen schaltet. Das ist ähnlich ärgerlich wie Popups die einem schon beim Öffnen einer Seite um die Ohren fliegen. Ich gehe davon aus, dass da ähnliche Mechanismen greifen.
Für deinen Fall solltest du Firefox am Besten gleich im Kiosk-Modus starten:
https://support.mozilla.org/de/kb/firefox-unternehmens-kiosk-modus
|
|
|
|
|
qualidat
Threadersteller
Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht:
|
Verfasst Fr 01.05.2020 11:43
Titel
|
|
|
top hat geschrieben: | Wenn das automatisch per Timer passiert, hast du als Besucher nicht die Kontrolle darüber wann dein Browserfenster in Fullscreen schaltet. Das ist ähnlich ärgerlich wie Popups die einem schon beim Öffnen einer Seite um die Ohren fliegen. Ich gehe davon aus, dass da ähnliche Mechanismen greifen. |
Es geht um die JS-Funktion window.setTimeout(function, time), die nur einmal nach onload aufgerufen wird (im Gegensatz zu window.setInterval()). Da habe ich z.B. 1s vergeben ... Erfolg: nullo, als ob die Funktion full() zwischen den geschweiften Klammern leer wäre).
Ich werde wohl zähnenirschend nicht um andere Methoden des Browserstarts herumkommen, aber unlogisch und dämlich ist es allemal ...
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 05.05.2020 08:55
Titel
|
|
|
qualidat hat geschrieben: | Es geht um die JS-Funktion window.setTimeout(function, time), die nur einmal nach onload aufgerufen wird (im Gegensatz zu window.setInterval()). Da habe ich z.B. 1s vergeben ... Erfolg: nullo, als ob die Funktion full() zwischen den geschweiften Klammern leer wäre). |
Es gibt einfach Funktionen die ohne user interaction nicht ausgeführt werden können. Letztendlich geht es dabei immer darum Sicherheit in irgendeiner Form zu gewährleisten. Ein Blick in die Konsole würde dir das auch anzeigen.
Top hat es ja schon angesprochen, der Kiosk-Mode ist genau das richtige für deinen Fall.
Zuletzt bearbeitet von m am Di 05.05.2020 08:57, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
button verrutscht im firefox
On release Button funktioniert nicht
WML Formular & PHP – Button funktioniert nicht
IE8 - Login-Button funktioniert nicht
absende button funktioniert nicht in IE <8
[HTML] Button im IE verschoben, Mozilla funktioniert
|
|