ナビゲーションの管理
- ユーザが、通常はナビゲーションメニューまたはアクションバーのアクションから Visualforce ページを呼び出します。
- Visualforce ページと、ページによってコールされたカスタムコントローラや拡張コードが読み込まれ実行されます。
- ユーザが何らかの方法で (フォームへの値の入力など) ページを操作します。
- ユーザがページで、フォームの送信など、変更をコミットするアクションを実行します。
- コントローラや拡張コードが実行され、変更を Salesforce に保存して、アクションの結果を返します。
- Visualforce ページが、JavaScript レスポンスハンドラを使用してアクションの結果を受信し、結果が正常の場合はその応答として、ユーザをアクションの結果を示す新しいページにリダイレクトします。
もう 1 つの一般的な用途は、単に Salesforce1 の Visualforce ページから別のページに移動するリンクやその他のユーザインターフェースコントロールをページに追加することです。このナビゲーションも、Salesforce1 のナビゲーションフレームワークで簡単に管理されます。
これらのケースでは、特別ユーティリティ JavaScript オブジェクトである sforce.one でナビゲーションが処理されます。Visualforce ページが Salesforce1 アプリケーション内で実行される場合、sforce.one オブジェクトがすべての Visualforce ページに自動的に追加されます。このオブジェクトには、実行時にナビゲーションイベントをトリガする多数の関数があります。これらの関数を使用するには、ページの JavaScript コードから直接コールするか、コールをクリックハンドラとしてページの要素に追加します。
- window.location.href を使用して、ブラウザの URL を直接操作しないでください。Salesforce1 のナビゲーション管理システムではこの操作はうまく機能しません。
- ナビゲーション URL で target="_blank" を使用しないでください。Salesforce1 内で新しいウィンドウを開くことはできません。
Force.com Canvas フレームワーク内の navigation メソッド
Force.com Canvas を使用している場合、Salesforce1 でキャンバスアプリケーションやキャンバス個人用アプリケーションのナビゲーションを制御するシンプルな方法が用意されています。
Force.com のメソッドを使用して、Salesforce1 のナビゲーションを制御できます。Force.com Canvas フレームワーク内のこれらのメソッドは、JavaScript ライブラリにあるイベントです。いずれかの navigation メソッドをキャンバスコードからコールすると、Salesforce1 にイベントが送信されます。Salesforce1 は、このペイロードを読み取って指定の移行先にユーザを移動します。
名前とペイロードを使用して、navigation メソッドをイベント変数として参照します。次に例を示します。
var event = {name:"s1.createRecord", payload: {entityName: "Account", recordTypeId: "00h300000001234"}};
この新しいメソッドの使用についての詳細は、『Force.com Canvas 開発者ガイド』の「キャンバスアプリケーションで使用する Salesforce1 の navigation メソッド」を参照してください。