2013-12-19 5 views
5

Ich habe eine ältere backbone.js App, die ich gerade nachrüste, damit sie von Suchmaschinen korrekt gecrawlt werden kann. Ich habe mich für die Verwendung von prenderender.ios Node.js + Phantom.js System entschieden, um statische HTML-Renderings meiner Javascript-gestützten Website an Suchmaschinen zu liefern. Eine der Voraussetzungen für die Verwendung von prerender.io ist jedoch, dass alle Hash-URLs in Hashbang konvertiert werden (also sollte site.com/#gallery site.come/#! Gallery sein). Meine Site verwendet derzeit nur Hash für das URL-Routing. Wie kann ich dies zu einem Hashbang machen?Backbone.js Routing: Von Hash zu Hashbang

Antwort

3

Ich nehme an, Sie müssen die URL-Attribute der Anker-Links, die auf #gallery zeigen, auf #! Gallery ändern und Ihren Router entsprechend ändern, z.

var app = app || {}; 
(function($){ 
    Workspace = Backbone.Router.extend({ 
    routes: { 
     '!gallery': 'gallery', 
     .. 
    }, 
    .. 
    gallery: function() { 
     .. 
     this.navigate('!/gallery', {trigger:true}); 
    } 
); 
Verwandte Themen