Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Backbone.js路由:从散列到hashbang_Javascript_Backbone.js_Prerender - Fatal编程技术网

Javascript Backbone.js路由:从散列到hashbang

Javascript Backbone.js路由:从散列到hashbang,javascript,backbone.js,prerender,Javascript,Backbone.js,Prerender,我有一个遗留的backbone.js应用程序,我目前正在对其进行改装,使其能够被搜索引擎正确地抓取。我已经决定使用prerender.io的Node.js+Phantom.js系统向搜索引擎提供我的javascript站点的静态HTML呈现。但是,使用prerender.io的一个要求是将所有哈希URL转换为hashbang(因此site.com/#gallery应该是site.come/#gallery)。我的网站目前只使用哈希进行url路由。我怎样才能把它转换成hashbang呢 我想您必须

我有一个遗留的backbone.js应用程序,我目前正在对其进行改装,使其能够被搜索引擎正确地抓取。我已经决定使用prerender.io的Node.js+Phantom.js系统向搜索引擎提供我的javascript站点的静态HTML呈现。但是,使用prerender.io的一个要求是将所有哈希URL转换为hashbang(因此site.com/#gallery应该是site.come/#gallery)。我的网站目前只使用哈希进行url路由。我怎样才能把它转换成hashbang呢

我想您必须将指向#gallery的锚链接的url属性更改为#!并相应地修改您的路由器,例如

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