最近我们不得不将 Mac 产品的嵌入式帮助迁移到 Web 并从 Mac HelpViewer 中引用它。据我所知,MacOs HelpViewer 是一个定制的基于 webkit 的应用程序,用于显示产品帮助,它必须以特定的文件夹结构呈现。HelpViewer 的导航和菜单按钮与任何浏览器按钮都不相似,对于其他浏览器,我们的 Web 帮助在 SPA 模式下运行良好
window.history.pushState
但是,一旦将此 SPA 行为应用于 HelpViewer 导航按钮,就不会对更改 url 或向window.history
集合添加状态做出反应(它们被禁用)。MacOS nativa 应用程序也有基于 Web 的帮助,例如:日历应用程序。此帮助基于 Ember.js 并且也具有一些 SPA 行为,但是这会触发 HelpViewer 的按钮做出反应(它们已启用)并在单击后起作用。
我试图解决的问题是如何触发 HelpViewer 对更改 url 或window.history
. 也许 ember.js 除了添加state
到window.history
?