2014-01-15 102 views
9

我在OSX上的Safari 6.1和7中啓用省電模式時,遇到無法加載YouTube播放器的問題。如果youtube用戶使用的是試驗性的HTML5播放器,則問題不會發生,但它仍處於測試階段,大多數人仍在使用Flash播放器。默認情況下,大多數新版本的Safari都會啓用「禁用插件以節省電源」選項,這會導致YouTube iFrame API在嘗試初始化播放器時進入無限循環。如何檢測Safari省電模式是否啓用?

windownavigator對象上是否有任何屬性可能表示已啓用省電模式,以便我可以警告用戶?

回答

0

嗯,我不認爲有任何可讀的JS屬性知道,如果是的話,蘋果將有一個有缺陷的設計,並且Safari用戶會嘮叨禁用該模式,爲了讓該網站的工作「正確地「... 你可以做的當然是嘗試通過Flash在你的網站上打一個服務器調用,然後嘗試通過JavaScript讀取已更改的會話變量,然後你就會知道...

2

這個問題是半故意的。 Safari中的省電模式故意停止Flash內容。您可以在article中閱讀更多關於它的信息。

如果Flash內容是「正面和中心」(在文檔左上角開始的3000 x 3000像素邊界內),它應該仍然播放。因此,如果YouTube視頻不在頁面的旁邊,可能會有所幫助,嘗試將其集中。 Apple表示,如果內容處於邊緣(Safari Power Saver標題下的see this page),內容將不會播放。

+1

我發現的侷限性在於,「正面和中心」是指在文檔左上角開始的3000 x 3000像素邊界內。內容可以從屏幕上直接加載到右側或底部,然後移回原處。負面的頂部或左側位置將導致內容無法加載。我可以把它變成我自己的答案。 – Soviut

+0

謝謝你的評論@Soviut,這也是一個很好的答案。我在回答中包含了你發現的前面和中心的定義,希望人們能夠立即找到它。 – wclear

+0

@Soviut - 我不確定3000x3000像素的邊界是否準確(視頻是2900,2900真正的前端還是中心?)沒有youtube視頻會偏離側邊,至少不會在youtube.com上,但youtube視頻仍然開始暫停。爲了滿足我的好奇心,我查看了YouTube視頻的位置,並使用我的設置(179,60)。無法獲得更多的前沿和中心。 – Mordred