Salesforce1(web)で任意のレコードのページを表示する

More than 5 years have passed since last update.

iPhoneアプリを作っていて、WebView内でSalesforce1を表示して、任意のレコードを表示しようと思い、調べてみました。

VFPageだと、sforce.one.navigateToSObject(recordId);で飛べるみたいですが、Salesforce1が開かれた状態では上記のライブラリは読み込まれていない様です。

※参考:http://www.salesforce.com/us/developer/docs/salesforce1/Content/vf_dev_best_practices_navigation.htm

sforce is not defined

ソースをごにょごにょ追っていて見つけたやり方が、

$A.get('e.force:navigateToSObject').setParams({recordId:'00QO0000001dTZX'}).fire();

での呼び出し。

e.force:navigateToSObject

たぶんやってることは同じなんでしょうね。

iPhoneアプリでもWebViewにone/one.appを読み込ませてから、このJavaScriptコードを実行したらレコードのページが開けました。

ただ、公式なやり方ではないので、今後動作する保証はありません(Winter'14, Spring'14時点で動作)。

あと、ページ遷移の際に#の後に付くハッシュの様な文字列…これの内容が分かればもう少しスマートにできそうです。

ヒント: https://twitter.com/stomita/status/448079681246347264



答え:http://qiita.com/stomita/items/79ec9c4b6273f7970d3e