WebUIApplication.Navigated 事件

定义

在应用导航时发生。

public:
 static event NavigatedEventHandler ^ Navigated;
// Register
static event_token Navigated(NavigatedEventHandler const& handler) const;

// Revoke with event_token
static void Navigated(event_token const* cookie) const;

// Revoke with event_revoker
static WebUIApplication::Navigated_revoker Navigated(auto_revoke_t, NavigatedEventHandler const& handler) const;
public static event NavigatedEventHandler Navigated;
function onNavigated(eventArgs) { /* Your code */ }
Windows.UI.WebUI.WebUIApplication.addEventListener("navigated", onNavigated);
Windows.UI.WebUI.WebUIApplication.removeEventListener("navigated", onNavigated);
- or -
Windows.UI.WebUI.WebUIApplication.onnavigated = onNavigated;
Public Shared Custom Event Navigated As NavigatedEventHandler 

事件类型

示例

注册导航事件并使用 WebUINavigatedDeferral 对象延迟解冻应用 UI,直到从文件中异步加载状态。

function navigatedHandler(eventArgs) {

    var deferral = eventArgs.navigatedOperation.getDeferral();

    // Populate the text box with the previously saved value while the app visuals are frozen
    app.local.readText(myfile, "default").then(function (str) {
        document.getElementById("userText").value = str;

        // Complete the deferral to transition back to a live view of the app
        deferral.complete();
    }, function(error) {
        document.getElementById("userText").value = 'undefined';

        // Complete the deferral even in the case where readText fails 
        // else the app would appear hung to the user
        deferral.complete();
    });
}

Windows.UI.WebUI.WebUIApplication.addEventListener("navigated", navigatedHandler, false);

注解

在大多数情况下,基于 HTML 的 UWP 应用永远不必导航或重新加载其顶级文档。 若要维护全局状态并创建流畅的用户体验,最好是应用在同一顶级页面中动态加载和删除其 HTML。

但是,在极少数情况下,你的应用可能需要导航或重新加载其顶级文档。 发生这种情况时,将在导航或重新加载顶级文档后引发导航事件。 它在 DOMContentLoaded 事件之后和 onLoad 事件之前引发。 此事件通知新页面加载是因为应用导航中的 ,而不是新的激活。 可以使用此事件还原页面的任何已保存状态,并重新初始化应用的 UI。

注意

在引发此事件之前,你的应用的视觉对象将被冻结,以便用户继续看到应用的上一页。 导航完成后,系统将转换到新页面的 UI。 这样,你的应用就可以在新页面上设置 UI,然后用户才能看到它。 如果需要使用异步方法初始化 UI,可以对 eventArgs 使用 navigatedOperation 来延迟导航完成。

适用于