【发布时间】:2011-07-07 10:10:38
【问题描述】:
我开发了一个带有多个 UIWebViews 的 iPad 应用程序,它采用以下 HTML 和 JavaScript。由于 iPad 一次只能播放一个视频,因此我不会加载视频,直到聚焦特定的网络视图。
这是通过调用 UIWebView 上的 stringByEvaluatingJavaScriptFromString 方法,发送对 JS 方法 getFocus() 的调用来完成的。同样,当不再需要 web 视图时,我调用 lostFocus() 来卸载视频。这使得另一个 UIWebView 可以播放另一个视频。
到目前为止,一切都很好。一切都很完美。除了一件事:这会导致内存泄漏。无论何时查看
我尝试重新加载 UIWebView(而不是使用 JS 卸载视频),但没有成功。我还尝试了无数种不同的 JavaScript 变体、标签变体等等。
<div id="videoDiv"></div>
<script type="text/javascript">
var movieDiv = document.getElementById('videoDiv'),
movieHtml = '<video id="video" src="../Documents/<%= VideoFileName %>" width="768" height="911"></video>';
var gotFocus = function () {
movieDiv.innerHTML = movieHtml;
var movie = document.getElementById('video');
movie.play();
movie.addEventListener('pause', function () {
movie.currentTime = 0;
movie.play();
}, false);
};
var lostFocus = function () {
movieDiv.innerHTML = '';
};
</script>
【问题讨论】:
标签: ipad ios html safari html5-video