在 UWP Javascript 中,有啥方法可以检测到辅助窗口已关闭?
Posted
技术标签:
【中文标题】在 UWP Javascript 中,有啥方法可以检测到辅助窗口已关闭?【英文标题】:In UWP Javascript, is there any way to detect that a secondary window has closed?在 UWP Javascript 中,有什么方法可以检测到辅助窗口已关闭? 【发布时间】:2019-10-20 01:17:45 【问题描述】:使用 WinJS projection sample 我已经实现了一些代码来打开第二个窗口
window.view = window.open(url, null, "msHideView=no");
现在我要做的是在window.view
关闭时设置回调,例如按下右上角的X 按钮。类似于view.on('close', function()
或view.addEventListener()
。有什么建议吗?
【问题讨论】:
【参考方案1】:Windows.UI.Core.Preview Namespace 中有一个 SystemNavigationManagerPreview.CloseRequested Event。当用户调用系统按钮关闭(应用标题栏角落的“x”按钮)时,会发生此事件。
要使此 API 成功运行,您需要在 'package.appxmanifest' 文件中添加受限功能 confirmAppClose
。
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap mp rescap">
<Capabilities>
<rescap:Capability Name="confirmAppClose"/>
</Capabilities>
/*secondaryView.js*/
var Preview = Windows.UI.Core.Preview;
Preview.SystemNavigationManagerPreview.getForCurrentView().addEventListener("closerequested", onCloseRequested);
function onCloseRequested(eventArgs)
/*your code*/
【讨论】:
我知道在哪里放置<Capabilities>...
xml,但不知道 xmlns:rescap
。在我看来,这甚至不像是有效的 xml。
在secondaryView.js 中实现window.opener.postMessage()
来告诉打开文件何时关闭第二个视图。以上是关于在 UWP Javascript 中,有啥方法可以检测到辅助窗口已关闭?的主要内容,如果未能解决你的问题,请参考以下文章
UWP 上的 Accelerometer.Shaken 事件不起作用,有啥解决方案吗?
有啥方法可以在不使用 getImageData() 的情况下在 JavaScript 中找到像素的颜色?