Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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 主干、多语言和根_Javascript_Backbone.js_Routes_Localization - Fatal编程技术网

Javascript 主干、多语言和根

Javascript 主干、多语言和根,javascript,backbone.js,routes,localization,Javascript,Backbone.js,Routes,Localization,我正在使用主干网来管理我的路由。我需要在我的网站上实现多语言,如下所示: 法语:www.example.com 英文:www.example.com/en 此外,我在生产url上还有一个额外的根,因此它给出了www.example.com/dev或www.example.com/dev/en 根目录是通过我的web服务器(节点)提供的。它是通过下面示例中的变量检索的 它在localhost上运行得很好,但只要我在服务器上传递一个带有附加根的url,页面就找不到了。我正在寻找一个通用的解决方案

我正在使用主干网来管理我的路由。我需要在我的网站上实现多语言,如下所示:

  • 法语:www.example.com
  • 英文:www.example.com/en
此外,我在生产url上还有一个额外的根,因此它给出了www.example.com/dev或www.example.com/dev/en

根目录是通过我的web服务器(节点)提供的。它是通过下面示例中的变量检索的

它在localhost上运行得很好,但只要我在服务器上传递一个带有附加根的url,页面就找不到了。我正在寻找一个通用的解决方案来管理这两种情况(有或没有根)


...
window.onload=函数()
{    
让前缀=“”.substr(1);
var BaseRouter=Backbone.Router.extend({
路线:{
[前缀+'imgfocus/:imgid']:'imgfocus',
[前缀+'天空地图/:obsids']:'天空地图',
// ...
},
imgfocus:函数(imgid)
{
loadScreen({page:'imgfocus',imgid:imgid});
},
天空地图:功能(obsids、stateid、tourid)
{
loadScreen({page:'skymap',obsids:parseInt(obsids)==0?未定义:obsids,stateid:stateid,tourid:tourid});
},
/// ...
});
设br=新的BaseRouter();
for(设i=0;i
创建不同的模板,然后使用
历史根目录
选项:

Backbone.history.start({pushState: true, root: "/en/"})

更多信息。

实际上,我通过在backbone.js中添加日志并检查发生了什么来修复它


真正的问题是在路由定义中使用“prefix”变量。我删除了它,大部分修复都完成了。

您知道它为什么会导致问题吗?实际上,我并不真正理解“root”变量是如何工作的。这就是问题所在。据我所知,url的管理方式如下:[域名]+[root]+[route]。因此,我只是从代码中删除了“前缀”,并将其放入根目录中。就是这样!
Backbone.history.start({pushState: true, root: "/en/"})