MacOS HelpViewer导航按钮不带';不适用于web SPA内容
最近,我们不得不将Mac产品的嵌入式帮助迁移到web,并从Mac HelpViewer中引用它。 据我所知,MacOs HelpViewer是一个定制的基于webkit的应用程序,用于显示产品帮助,它必须以指定的文件夹结构显示。 HelpViewer的导航和菜单按钮与任何浏览器的按钮都不相似,对于其他浏览器,我们的web帮助在SPA模式下可以很好地工作MacOS HelpViewer导航按钮不带';不适用于web SPA内容,macos,ember.js,single-page-application,help-viewer,Macos,Ember.js,Single Page Application,Help Viewer,最近,我们不得不将Mac产品的嵌入式帮助迁移到web,并从Mac HelpViewer中引用它。 据我所知,MacOs HelpViewer是一个定制的基于webkit的应用程序,用于显示产品帮助,它必须以指定的文件夹结构显示。 HelpViewer的导航和菜单按钮与任何浏览器的按钮都不相似,对于其他浏览器,我们的web帮助在SPA模式下可以很好地工作 window.history.pushState 但是,一旦将此SPA行为应用于HelpViewer导航按钮,它们就不会对更改url或将状态添
window.history.pushState
但是,一旦将此SPA行为应用于HelpViewer导航按钮,它们就不会对更改url或将状态添加到window.history
集合做出反应(被禁用)。
MacOS nativa应用程序也有基于web的帮助,例如:日历应用程序。此帮助基于Ember.js,还具有一些SPA行为,但此帮助会触发HelpViewer按钮的反应(它们将被启用)并在单击后工作
我试图解决的问题是如何触发HelpViewer在更改url或
window.history
时做出反应。也许ember.js除了在窗口中添加状态
之外还做了一些额外的工作。历史
?我目前在帮助文件中遇到了同样的问题。我知道这篇文章很老了,但如果它有帮助的话,我发现在全局范围内调用pushState
函数(例如,一旦加载页面)和在“click”事件侦听器内调用它是有区别的。在全局作用域上调用pushState
会更新历史记录并按预期启用导航按钮,而在事件侦听器函数中调用会更新历史记录,但不会启用导航按钮。哦,真的吗?现在无法检查它,因为不再处理该项目,但如果它是一个问题,那么我所要做的就是保存全局上下文引用并将其传递给方法,对吗?我希望我能说这就是答案,哈哈。我甚至按下了这样一个按钮:点击我代码>在正确更新历史记录时没有运气。唯一有效的pushState
调用的位置是在$(document).ready()JQuery处理程序中。我目前在帮助文件中遇到了同样的问题。我知道这篇文章很老了,但如果它有帮助的话,我发现在全局范围内调用pushState
函数(例如,一旦加载页面)和在“click”事件侦听器内调用它是有区别的。在全局作用域上调用pushState
会更新历史记录并按预期启用导航按钮,而在事件侦听器函数中调用会更新历史记录,但不会启用导航按钮。哦,真的吗?现在无法检查它,因为不再处理该项目,但如果它是一个问题,那么我所要做的就是保存全局上下文引用并将其传递给方法,对吗?我希望我能说这就是答案,哈哈。我甚至按下了这样一个按钮:点击我代码>在正确更新历史记录时没有运气。唯一有效的pushState
调用的位置是在$(document).ready()JQuery处理程序中。