Ember rootURL与哈希

时间:2015-05-15 20:53:55

标签: ember.js salesforce visualforce

我正在尝试将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

Unfortunatley我无法让Ember正确解决这个问题。它从rootURL中删除哈希,并将上述网址视为解析为'/'路由,而不是'/sub-route'

有没有办法可以设置Router.rootURL属性来包含哈希值。我想这样做:

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

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

思考?我认识到rootURL包含哈希值可能不合标准。

安德鲁

1 个答案:

答案 0 :(得分:1)

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

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