【发布时间】:2012-02-24 10:05:59
【问题描述】:
我现在把事情搞得一团糟。我更新到 Backbone.js 0.9.1,更新到基于斜杠的 URL 并开始使用 pushstate:true。 5 天后,我在 IE9 上测试了我的应用,但 URL 并没有粘在它们链接到的页面上。
我做了这样的事情:
main.html
<a href="/signup">Do Signup</a>
浏览器转到mydomain.com/signup 片刻,然后跳转回main.html,URL 为mydomain.com/#signup。
恢复到pushstate:true 确实解决了简单链接的问题,但打破了我将路由器定义为具有类似...的路由的事情。
SignupRouter = Backbone.Router.extend({
routes: {
'signup': 'signup',
'signup/:key': 'confirm'
}, initialize: function() {
// do some stuff here
}, signup: function() {
// signup view
}, confirm: function() {
// confirm view
}
});
如果我不使用 pushstate,我必须回到为每个页面创建单独路由并基于服务器端变量加载路由器的策略(我知道非常原始):
SignupRouter = Backbone.Router.extend({
initialize: function() {
// signup view
}
});
ConfirmSignupRouter = Backbone.Router.extend({
initialize: function() {
// confirm view
}
});
是否有一些 IE 友好的方式来执行此操作(IE7~9)?服务器端的一些解决方法?有什么事吗?
【问题讨论】:
标签: internet-explorer backbone.js pushstate