Ich habe Probleme mit dem Laden des YouTube-Players, wenn der Energiesparmodus in Safari 6.1 und 7 unter OSX aktiviert ist. Das Problem tritt nicht auf, wenn der Youtube-Benutzer den experimentellen HTML5-Player verwendet, aber er befindet sich noch in der Beta-Phase und die meisten Benutzer verwenden immer noch den Flash Player. Die Option "Plug-Ins zum Energiesparen deaktivieren" ist in den meisten neuen Safari-Versionen standardmäßig aktiviert. Dadurch wird die YouTube iFrame-API beim Versuch, den Player zu initialisieren, in eine Endlosschleife versetzt.
Gibt es ein Attribut für die Objekte window
oder navigator
, die möglicherweise anzeigen, dass der Energiesparmodus aktiviert ist, damit ich Benutzer warnen kann?
Dieses Problem ist absichtlich beabsichtigt. Der Energiesparmodus in Safari stoppt Flash-Inhalte absichtlich. Sie können mehr darüber in diesem Artikel lesen.
Wenn der Flash-Inhalt "vorne und zentriert" ist (innerhalb einer Grenze von 3000 x 3000 Pixel, beginnend an der oberen linken Ecke des Dokuments), sollte er dennoch abgespielt werden. Es kann also hilfreich sein, wenn das Youtube-Video an der Seite der Seite angezeigt wird, um es zu zentrieren. Apple sagt, Inhalte werden nicht wiedergegeben, wenn sie sich am Rand befinden ( siehe diese Seite unter der Überschrift "Safari Power Saver") .
Nun, ich denke nicht, dass es eine lesbare JS-Eigenschaft gibt, um das zu wissen, Wenn das der Fall wäre, hätte Apple ein fehlerhaftes Design, und die Safari-Benutzer würden genötigt sein, diesen Modus zu deaktivieren, damit die Website "richtig" funktioniert ... Was Sie natürlich tun könnten, ist, einen Server-Aufruf auf Ihrer Website per Flash zu machen, und dann versuchen, die geänderte Session-Variable über JavaScript zu lesen, dann würden Sie es wissen ...
Tags und Links macos browser browser-feature-detection safari