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