导航到 Windows 应用商店应用中的另一个 html

Navigating to another html in Windows store app

本文关键字:应用 另一个 html Windows 导航      更新时间:2023-09-26

我正在尝试找到一种方法来导航到我的应用程序中的另一个html。我尝试了window.location和WinJS.Navigation.naving,但没有一个有效。

虽然你可以让 document.location 和导航工作(请注意它是 document.location,而不是 window.location(,但推荐的方法是像单页 Web 应用程序一样实现应用程序,这意味着您可以通过 dong DOM 替换 default.html/index.html"导航"。也就是说,您的页面上下文始终是默认的HTML页面,以便您跨"页面"保留JavaScript上下文,并且还能够顺利地将内容导航进出页面。(document.location and links 通过黑屏过渡并重置 JS 上下文。

有多种方法可以进行DOM替换,但是WinJS内置的机制称为WinJS.UI.Pages。探索该机制的最佳方法是使用导航模板创建新的应用项目。简而言之,这给了你:

  • 主页,默认.html,即单个 HTML 页面上下文。这将声明一个包含 Application.PageControlNavigator 控件的单个div,该控件使用对"主页"页的引用进行初始化。
  • 一个页面文件夹,其中包含 home/home.html、.js和.css(请注意,这些文件夹将拆分为通用应用项目中的共享文件夹(。
  • js 文件夹中的导航器.js文件,默认情况下从默认加载.html该文件。这是一段代码,它侦听 WinJS.Navigation.navigate 调用,并使用 WinJS.UI.Pages 机制使用 DOM 替换加载和导航到另一个页面(您实际上保持在默认值.html内(。它专门在 default.html 中查找 PageControlNavigator 控件,并且所有 DOM 替换都发生在该div 中。

在此模型中,主页.html是您的第一页。要创建其他页面,请右键单击页面文件夹,然后选择> JavaScript>添加新项>页面控件。这将为你提供另一组 HTML、CSS 和 JS 文件,用于另一个 WinJS"页面",特别是包含 WinJS.UI.Pages.define 调用的 JS 来设置必要的对象结构。

您可以移动这些文件 - 只需确保项目中HTML文件的路径在WinJS.UI.Pages.define 调用以及导航调用中完全匹配,否则页面将无法加载。

有关更完整的详细信息,请参阅我的免费电子书《使用 HTML、CSS 和 JavaScript 编程 Windows 应用商店应用,第 2 版》的第 3 章,从第 136 页的"页面控件和导航"开始。

WinJS.Navigation.navigate应该可以解决问题。

您是否看到错误或任何东西?

相关文章: