WInJS:当用户离开页面时卸载x-ms-webview

时间:2014-03-18 12:06:15

标签: windows-8 microsoft-metro windows-8.1 winjs

我的WinJS应用程序中有一个x-ms-webview控件,可播放YouTube视频。

当我离开页面时,视频中的音频会继续播放,因为(我认为)webview尚未正确卸载。

当用户离开页面时,删除webview的最佳方法是什么?

HTML:<x-ms-webview id="videoPlayer" class="videoPlayer"></x-ms-webview>

JS:videoPlayer.src = video.VideoURL;

编辑:我在页面的卸载事件中使用navigateToString("")方法尝试了一个可怕的小屋。设置此属性会停止播放声音,但我希望这不是唯一可用的选项。

1 个答案:

答案 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("")的解决方案是最好的。