这是我设法通过蛮力修复的错误,但我不明白为什么该解决方案有效。
问题是嵌入的 YouTube 视频无法在 iPad 上的特定(响应式)站点上(在 iOS7 中测试)在横向视图中运行。我设法将其缩小到一个特定的 CSS 规则,当浏览器足够宽时,该规则在标题中显示搜索输入,因此它会显示在 iPad 的横向视图中,而不是纵向视图中。
经过一番蛮力摆弄后,我发现type="search"
从输入标签中删除 (这会导致它回退到 default type="text"
)可以解决问题。我的搜索都没有给出解释为什么这有效,甚至没有其他人遇到同样的事情。
有关该错误的更多详细信息
该网站首先显示一张图片,点击后将通过 JavaScript 将其替换为 YouTube iframe。在第一次点击之后,它会在桌面浏览器上自动播放,在 iPad 上它会加载视频,但直到用户再次按下它才会播放。
如果type="search"
输入可见 ( display: block;
),则点击嵌入的视频不会使其播放;水龙头不会有明显的反应。如果我放大并点击顶部的控件,例如视频的名称,我可以看到它们带有下划线,并且测试表明没有元素覆盖 iframe 和拦截事件。
奇怪的是,点击 iframe 右侧的最边缘会导致视频开始正确播放。否则,将 iPad 更改为纵向视图(导致通过 CSS 隐藏搜索输入)将使 iframe 能够被单击以开始播放视频。第一次单击后,无论搜索输入是否显示,所有视频控件都将起作用。