Ember 带哈希的 rootURL

Ember rootURL with Hash

我正在尝试将 Ember 应用程序嵌入到 Salesforce 中,特别是 VisualForce (VF) 页面。 Salesforce 使用您的自定义 VF 可用的约定:https://<instanace>.salesforce.com/apex/<myVFPage>

Salesforce 不允许子文件夹。例如,如果我尝试访问以下 URL,它将失败,因为它将尝试在子文件夹的位置解析 VF 页面。例如,您不能这样做:

https://<instanace>.salesforce.com/apex/<myVFPage>/childPage

以前,我的解决方法是使用散列。像这样:

https://<instanace>.salesforce.com/apex/<myVFPage>#/sub-route

不幸的是,我无法 Ember 正确解决这个问题。它从根 URL 中剥离散列并将上述 URL 视为解析为 '/' 路由而不是 '/sub-route'

有什么方法可以设置 Router.rootURL 属性 以包含散列值。我想这样做:

var Router = Ember.Router.extend({
  rootURL: config.baseURL
});

哪里config.baseURL = '/apex/myVFPage#/'

想法?我认识到让根 URL 包含散列可能不是标准的。

安德鲁

Ember 当路由器的 location 设置为 hash 时,路由器已经用散列将 URL 的服务器和客户端部分分开,即

App.Router.reopen({ location: 'hash' });