我有一个奇怪的错误,只发生在iPad的safari上。我在页面上添加了一个youtube iframe元素,看起来像这样。
<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".协议、域和端口必须匹配。
所有错误都引用html5layer.js文件。
我该如何解决这个问题?感谢您的帮助
好吧,所以IPad上的webkit似乎有一个bug,一个奇怪的bug。我在这里读过->https://tmpworldwide.github.io/bugs/ios-tappy-bug.html
我会引用一点
将:active伪类应用于通用选择器(*)并包含-webkit tap高亮颜色的属性似乎是罪魁祸首。
*:活动{-webkit点击高亮颜色:番茄;}
现在,这里是奇怪的部分。只有当存在上述CSS块并且页面上存在类型属性值为"search"的输入元素时,才会触发该错误。我知道,疯了,对吧?这里的另一个奇怪之处是,当你将焦点应用于搜索输入,键入一些内容,然后尝试播放视频时,它就会起作用。
目前的解决方案是将input type="search"更改为input type="text"。