我有一个指向网站的UWP托管应用程序(JavaScript)。
在网站内部,我有一个iframe,允许导航到不同的网址。
当iframe导航时,UWP应用程序的“后退”按钮突然出现在标题栏中。
我想完全禁用/删除该后退按钮,因为:
MSDN documentation表示默认情况下应禁用标题栏后退按钮。我没有做任何事情来启用它。
我已尝试按如下方式截取事件,但iframe仍然执行后退导航(如果不再有iframe,则应用程序崩溃):
// In the main website window (not the iframe)
var uiCore = Windows.UI.Core;
var navMgr = uiCore.SystemNavigationManager.getForCurrentView();
navMgr.onbackrequested = (e) => {
console.log("Back navigation"); // This is never logged
navMgr.appViewBackButtonVisibility = uiCore.AppViewBackButtonVisibility.collapsed;
e.handled = true;
};
有谁知道如何阻止UWP平台为托管应用添加后退按钮?
答案 0 :(得分:1)
您应该只需关闭代码的这一部分即可关闭后退按钮的可见性,而不是连接onBackRequested()回调:
var uiCore = Windows.UI.Core;
var navMgr = uiCore.SystemNavigationManager.getForCurrentView();
navMgr.appViewBackButtonVisibility = uiCore.AppViewBackButtonVisibility.collapsed;
答案 1 :(得分:0)
好吧...在 Microsoft UWP示例中,您可以找到另一种隐藏/显示此按钮的方法。我只是在我的UWP应用中将它们的样本用作骨架。因此,下面是我隐藏后退箭头的操作。
var server = app.listen(serverPort, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
});
server.timeout = 600000; // this was not set before. The default appeared to have been 4 minutes. Setting this fixed it! (NOTE this should be in milliseconds - so this is 10 minutes!)