Lightning Experience の onNavigationChange()
使用方法
次のいずれかのアクションが発生するとコールされる関数を登録します。
- ページの URL が変更される。
- Lightning Experience の標準アプリケーションで、ユーザがブラウザのタブまたはウィンドウ間を移動してドキュメントにフォーカスが戻る。ドキュメントにフォーカスが戻らなかった場合は、リスナーは呼び出されません。また、screenPop() メソッドなどの新しいレコードモーダルを開く内部ナビゲーションアクションは、リスナーを呼び出します。
- Lightning Experience のコンソールアプリケーションで、ユーザがコンソール内で主タブとサブタブの間を移動するか、ユーザがブラウザのタブまたはウィンドウ間を移動してドキュメントにフォーカスが戻る。
- コンソールで新規ケースを作成して保存した場合など、コンソールアプリケーションでタブが更新された。
たとえば、ユーザがブラウザのタブから別の場所に移動して、その後タブに戻ってくると、リスナーが呼び出されます。
このメソッドは API バージョン 38.0 以降で使用できます。
構文
1sforce.opencti.onNavigationChange({
2 listener: function
3});引数
| 名前 | 型 | 説明 |
|---|---|---|
| listener | function | ナビゲーションの変更時にコールされる JavaScript メソッド。 |
サンプルコード – HTML および JavaScript
1<html>
2 <head>
3 <script type="text/javascript" src="https://domain:port/support/api/51.0/lightning/opencti_min.js"></script>
4 <script type="text/javascript">
5 var listener = function(payload) {
6 console.log('Navigation change occurred. Payload: ', payload);
7 };
8
9 // Register the listener.
10 window.addEventListener('load', function() {
11 sforce.opencti.onNavigationChange({listener: listener});
12 });
13 </script>
14 </head>
15</html>ペイロード
リスナメソッドへの各コールに渡されるペイロードオブジェクトには次の項目が含まれます。
レコード詳細ページからリストビューに切り替えるときに、このメソッドで返される内容は次のとおりです。
- Lightning Experience では、url のみ
- Lightning Experience コンソールアプリケーションでは、リスナーが呼び出されないため何も返されない
| 名前 | 型 | 説明 |
|---|---|---|
| url | string | ユーザの移動先ページの URL を提供します。 |
| recordId | string | ユーザが取引先やケースなどの Salesforce レコードに移動した場合、読み込まれたレコードの ID が返されます。それ以外の場合、項目は空白になります。 |
| recordName | string | ユーザが Salesforce レコードに移動した場合、読み込まれたレコードの名前。それ以外の場合、項目は空白になります。 |
| objectType | string | ユーザが Salesforce レコードに移動した場合、読み込まれたオブジェクトの種別 (取引先やケースなど)。それ以外の場合、項目は空白になります。 |
| accountId または contactId | string | ユーザの移動先ページが個人取引先のレコードホームである場合、関連付けられた取引先または取引先責任者の ID が返されます。 |
| personAccount | boolean | 組織で個人取引先が有効になっており、ユーザが個人取引先に移動した場合にのみ返されます。 ユーザの移動先ページが個人取引先のレコードホームである場合、この項目は true です。 ユーザの移動先ページが個人取引先のレコードホームでない場合、この項目は false です。 ユーザの移動先ページが法人取引先である場合、この項目と accountId および contactId 項目はペイロードに含まれません。 |