2017-06-28 61 views
1

我有一個指向網站的UWP託管應用程序(JavaScript)。如何在UWP託管應用程序(JS)中完全禁用後退按鈕

在網站內部,我有一個iframe,允許導航到不同的網址。

當iframe導航時,UWP應用程序的「後退」按鈕突然出現在標題欄中。

我想完全禁用/刪除後退按鈕,這是因爲:

  1. 單擊時,它崩潰的應用程序,如果iframe是在DOM
  2. 在我的情況不再,後退導航不相關的iframe
  3. 網站裏面的內容是一個單頁web應用程序並且在一般

只是不需要後退導航的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平臺從託管應用程序添加後退按鈕?

回答

1

相反掛鉤的onBackRequested()回調,你應該能夠只是關閉返回按鈕的知名度與這部分代碼:

var uiCore = Windows.UI.Core; 
var navMgr = uiCore.SystemNavigationManager.getForCurrentView(); 
navMgr.appViewBackButtonVisibility = uiCore.AppViewBackButtonVisibility.collapsed;