2015-04-27 50 views
0

我有一個奇怪的錯誤只發生在Safari的iPad上。我已將youtube iframe元素添加到看起來像這樣的頁面。YouTube html5player不會在iPad上玩遊戲;協議和端口異常

<iframe width="560" height="315" src="http://www.youtube.com/embed/dDAB35SYIr0?rel=0" frameborder="0" allowfullscreen></iframe> 

正如你所看到的,我說源代碼是http,我的網站也是http。現在iPad上的Safari瀏覽器,我得到這個控制檯錯誤消息

封閉起源「https://www.youtube.com」的框架,從訪問 框架與來源「http://example.com」。請求訪問 的幀具有「https」的協議,正被訪問的幀具有協議 「http」。協議必須匹配。

我認爲這是奇怪的,原因有二 1.我具體說「使用http」 2.它可以在其他設備

現在,如果我更改協議爲HTTPS(現在我對一個HTTPS站點爲好),並嘗試這個,我得到這個錯誤,而不是

封閉起源「https://www.youtube.com」的框架,從訪問 框架與來源「https://www.example.com」。協議,域和端口 必須匹配。

所有錯誤引用html5player.js文件。

我該如何解決這個問題? 感謝您的幫助

回答

0

好的,所以看起來iPad上的webkit有一個bug,一個奇怪的。我在這裏讀它 - >https://tmpworldwide.github.io/bugs/ios-tappy-bug.html

我還要舉了一下它的

運用:active僞類的通用選擇器(*),幷包括-webkit-抽頭亮點的屬性色彩似乎是罪魁禍首。

*:active { -webkit-tap-highlight-color:tomato; }

現在,這裏是奇怪的部分。只有當上面的CSS塊存在並且在頁面上存在具有類型屬性值「search」的輸入元素時才觸發該錯誤。我知道,瘋了吧? 這裏的另一個奇怪之處在於,當你將焦點應用於搜索輸入時,在其中鍵入內容,然後嘗試播放視頻,它就會起作用。

現在的解決方案是將輸入類型=「搜索」更改爲輸入類型=「文本」。