gpt4 book ai didi

javascript - 使用 Backbone.js 处理浏览器历史记录

转载 作者:行者123 更新时间:2023-11-29 22:22:27 25 4
gpt4 key购买 nike

我正在尝试使用 Backbone.js 来处理浏览器历史记录。我没有设置 View /模型,因为我不想让它处理这个问题,可能正因为如此,我无法让它正常工作。

此时我的页面正在更改 url。喜欢:

domain.com/services
domain.com/products
domain.com/contact
domain.com/gallery
domain.com/gallery/photo1

问题是:如果我尝试在 domain.com/gallery/photo1 重新加载页面。我收到错误 Uncaught SyntaxError: Unexpected token <

只有一级永久链接的所有其他页面在重新加载时都能正常工作。我在 Backbone 上遗漏了什么吗?

我只是在使用 Backbone.Router 和 Backbone.history。

是否有关于如何使用 backbone.js 设置站点的简单教程?只是历史的事情?

这是我的脚本:

var Router;
var myRouter;

$(document).ready(function(){
Router = Backbone.Router.extend({
initialize : function(options) {
//
},
routes: {
'' : 'home',
'*actions' : 'pages'
},
home : function() {
this.render('/');
},
pages : function(actions) {
this.render(actions);
},
render : function(path) {
var fullLine = '';
path = (path === '/' || path === '')? '/' : path;
console.log('path: ' + path);
}
});

myRouter = new Router();

Backbone.emulateHTTP = true;
Backbone.emulateJSON = true;
Backbone.history.start({pushState: true, root: "/backbone_teste/"});

// MENU CLICK
$('.menu').children('li').each(function(){
$(this).click(function(){
myRouter.navigate($(this).attr('data-id'), true, true);
});
});
});

感谢您的帮助!

最佳答案

已解决的问题:

我刚刚在我的 index.php 文件的头部添加了以下代码:

<base href="http://localhost/backbone_teste/" />

而且有效。

无论如何,我想知道为什么会发生这种情况以及为什么 Backbone.js 文档没有提到这一点。

我在这个链接找到了解决方案:HTML5 History / pushState URLs, .htaccess and You

谢谢

关于javascript - 使用 Backbone.js 处理浏览器历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11621223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com