J'essaie d'utiliser Backbone.js pour gérer l'historique du navigateur. Je ne configure pas Views/Models parce que je ne veux pas que cela gčre cela, et probablement pour cette raison je ne le fais pas fonctionner correctement.Utilisation de Backbone.js pour gérer l'historique du navigateur
À ce stade, ma page change d'URL. Comme:
domain.com/services
domain.com/products
domain.com/contact
domain.com/gallery
domain.com/gallery/photo1
Le problème est: si j'essaie de recharger la page sur domain.com/gallery/photo1. J'obtiens l'erreur Uncaught SyntaxError: Jeton inattendu <
Toutes les autres pages avec un seul permalien de niveau fonctionnent correctement sur recharger. Est-ce que j'ai raté quelque chose sur Backbone? Je n'utilise que Backbone.Router et Backbone.history.
Y at-il un tutoriel simple sur la façon de configurer un site avec backbone.js? Juste l'histoire?
Voici mon script:
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);
});
});
});
Merci pour votre aide!
"Uncaught SyntaxError: jeton inattendu <" suggère que quelqu'un essaie d'interpréter le HTML comme JSON. Pouvez-vous nous montrer du code? –
Post édité. Je viens d'ajouter ces options à emulateHTTP et emulateJSON pour voir si cela résout le problème. Je ne charge rien encore. Si je change de pushState en false et que j'essaie d'accéder à domain.com/#gallery/photo1 cela fonctionne, mais je ne veux pas le hash! Merci –
Je cours cet exemple sur localhost/backbone_teste et j'ai un fichier .htaccess à mod_rewrite. Peut-être que cela a quelque chose à voir avec mon problème. –