【发布时间】:2014-12-19 14:33:50
【问题描述】:
我在适用于 iOS 的 cordova (phonegap) 应用程序的主页中嵌入了一个内嵌视频。我已将必要的允许设置添加到 config.xml
<preference name="AllowInlineMediaPlayback" value="true" />
视频 html 看起来像这样
<video webkit-playsinline poster="img/videoplaceholder.png" loop class="video" autoplay="autoplay">
<source src="media/homepage.iphone.mp4"/>
</video>
当应用首次启动时,视频会内联播放并完美运行。但是,如果我离开主页然后返回,视频会在页面加载时全屏显示。 我尝试将视频移到页面下方以测试是否是因为浏览器专注于页面加载。我还尝试使用 JS 删除自动播放和延迟触发播放。我已经在 iOS7 和 iOS8 中测试了上述所有内容,因为它们是我的目标版本。 有什么建议吗?
提前谢谢你。
【问题讨论】:
-
当您返回视频页面时。您是从头开始重新加载它还是使用 javascript 像
window.history.go(-1)一样返回 -
这两种方法我都试过了。该应用程序是使用 angular 构建的,所以我尝试使用
window.location.hash = 'home'和window.history.go(-1)都产生相同的结果 -
这就是问题所在,iOS webkit 中
hashchange和window.history.go(-1)的问题,<video>没有得到正确解析。您必须通过 JSvideo.load();手动触发加载事件或使用window.open("/index.html");从头开始重新加载页面以强制加载/解析视频。 -
感谢您的回复。我刚刚尝试使用
video.load(),这仍然会全屏打开视频,window.open("/index.html");似乎也会产生同样的问题。
标签: javascript ios html cordova html5-video