我的WinJS应用程序中有一个x-ms-webview控件,可播放YouTube视频。
当我离开页面时,视频中的音频会继续播放,因为(我认为)webview尚未正确卸载。
当用户离开页面时,删除webview的最佳方法是什么?
HTML:<x-ms-webview id="videoPlayer" class="videoPlayer"></x-ms-webview>
JS:videoPlayer.src = video.VideoURL;
编辑:我在页面的卸载事件中使用navigateToString("")
方法尝试了一个可怕的小屋。设置此属性会停止播放声音,但我希望这不是唯一可用的选项。
答案 0 :(得分:2)
以下是另一种解决方法:您可以在PageControl的卸载处理程序中处理WebView元素&#39;:
(function () {
var webView,
page = WinJS.UI.Pages.define("/pages/webView/webView.html", {
ready: function (element, something) {
webView = document.querySelector("#myWebView");
webView.src = "http://www.youtube.com/watch?v=dk5-gCc_4s4";
},
unload: function () {
webView.parentNode.removeChild(webView);
webView = null;
}
});
})();
YouTube视频将继续播放约一分钟。当您使用WebView导航回页面时,将使用该PageControl重新加载该元素。我认为您使用navigateToString("")
的解决方案是最好的。