嵌入的YouTubevideo无法在iPad(iOS 7)上播放,而HTML5搜索输入可见

这是我通过蛮力设法解决的错误,但我不明白为什么解决方案有效。

问题是嵌入式YouTubevideo在横向视图中没有在iPad(在iOS7中测试)上的特定(响应)网站上工作。 我设法将其缩小到特定的CSS规则,当浏览器足够宽时,它会在标题中显示搜索输入,因此它将显示在iPad的横向视图中,但不会显示在纵向视图中。

在稍微蛮力的摆弄之后,我发现从输入标签中删除type="search" (导致它回退到默认type="text" )将解决问题。 我的所有搜索都没有得到解释为什么这个有效,或者甚至是其他任何经历同样事情的人。

关于bug的更多细节

该网站的工作原理是首先显示图片,点击后可通过JavaScript替换YouTube iframe。 在第一次点击之后,它将在桌面浏览器上自动播放,并且在iPad上它将加载video但在用户再次按下它之前不会播放。

如果type="search"输入可见( display: block; ),则点击嵌入的video不会导致它播放; 水龙头没有明显的响应。 如果我放大并点击顶部的控件,就像video的名称一样,我可以看到它们被加下划线,并且测试显示没有元素覆盖iframe和拦截事件。

奇怪的是,点击iframe右侧的边缘会导致video开始正​​常播放。 否则,将iPad更改为纵向视图(导致通过CSS隐藏搜索输入)将启用iframe以便开始video播放。 在第一次单击之后,无论搜索输入是否显示,所有video控件都将起作用。

我亲自体验过这个第一手资料,想要为你写下这些文章。 你的问题,即使没有答案,也指向了正确的方向。

就我而言,它与Youtube无关。 我在一个大型站点中有一个由Drupal生成的页面,其中站点范围的搜索机制使用了一个自动完成的drupal模块,其中type="search"作为主要输入的类型。

在IOS中,用户报告称Facebook,Twitter和Google Plus各自的“喜欢”按钮都不起作用,并且页面中嵌入了更大的角度应用程序。 他们都使用了iframe,但似乎没有人对点击做出回应。

将这看似无害,无关的输入类型从search更改为text立即解决了这个问题。

莫名其妙。