我有一个传统的backbone.js应用程序,我目前正在进行改造,可以被搜索引擎正确抓取。我已经决定使用prerender.io的Node.js + Phantom.js系统来为搜索引擎提供我的javascript驱动网站的静态HTML呈现。但是,使用prerender.io的一个要求是将所有哈希URL转换为hashbang(因此site.com/#gallery应该是site.come /#!gallery)。我的网站目前仅使用哈希进行网址路由。如何将其切换为hashbang?
答案 0 :(得分:3)
我想你必须将指向#gallery的锚链接的url属性更改为#!gallery并相应地修改你的路由器,例如。
var app = app || {};
(function($){
Workspace = Backbone.Router.extend({
routes: {
'!gallery': 'gallery',
..
},
..
gallery: function() {
..
this.navigate('!/gallery', {trigger:true});
}
);