【发布时间】:2015-01-24 11:32:45
【问题描述】:
可以使用onAfterAction 在 Iron-Router 中设置每个路由的 HTML 标题:
Router.route("home", {
path: "/",
template: "home",
onAfterAction: function () {
document.title = "Home";
}
});
Router.route("pageA", {
path: "/page/a",
template: "pageA",
onAfterAction: function () {
document.title = "Page A";
}
});
Router.route("pageB", {
path: "/page/b",
template: "pageB",
onAfterAction: function () {
document.title = "Page B";
}
});
Router.route("pageC", {
path: "/page/c",
template: "pageC",
onAfterAction: function () {
document.title = "Page C";
}
});
但是,这会导致回溯历史混乱,至少在 Chrome 上是这样。如果您从 Home 开始,浏览到 A,然后到 B,然后到 C,然后右键单击返回按钮时,您会看到:
- 页面 C(点击它会转到页面 B)
- 页面 B(点击它会转到页面 A)
- 页面 A(单击它会带您到主页)
我想要的是:
- 页面 B(点击它会转到页面 B)
- 页面 A(点击它会转到页面 A)
- 首页(点击它会带您进入首页)
如果您按几次后退然后右键单击前进,前进历史可以正常工作(但不是后退历史)。
还有其他方法可以设置支持回溯历史的 HTML 标题吗?使用onBeforeAction 或onRun 代替onAfterAction 并不能解决问题。
【问题讨论】:
标签: meteor iron-router