2015-05-15 58 views
1

我試圖將Ember應用程序嵌入Salesforce,特別是VisualForce(VF)頁面。 Salesforce使用您的自定義VF可用的約定:https://<instanace>.salesforce.com/apex/<myVFPage>Ember rootURL with Hash

Salesforce不允許子文件夾。例如,如果我嘗試訪問以下URL,它將失敗,因爲它會嘗試解析子文件夾位置處的VF頁面。例如,你不能這樣做:

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

以前,我的解決方法是使用散列。像這樣:

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

Unfortunatley我不能得到Ember正確解決這個問題。它從rootURL去除散列並將上述URL視爲解析爲'/'路由而不是'/sub-route'

有沒有一種方法可以將Router.rootURL屬性設置爲包含散列值。我想這樣做:

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

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

的思考?我認識到rootURL包含一個散列可能不是標準的。

安德魯

+1

有使用'App.Router.reopen({位置考慮:'hash'});'已經用「#」分隔了服務器和客戶端? – jesenko

+0

@jesenko,你絕對正確!默認位置是'auto',它與路由有關。如果我指定位置:'散列'它只是工作!沒有rootURL是必需的。非常感謝!!!我希望在5個小時前找到你。如果您提交正式答案,我很樂意爲您提供信用。 – anschoewe

+0

我很高興幫助:)我剛剛發佈了一個正式答案... – jesenko

回答

1

灰燼路由器已經將單獨的服務器,並與哈希URL的客戶端部分,當路由器location設置爲hash,即

App.Router.reopen({ location: 'hash' }); 
相關問題