この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

sforce.one オブジェクトを使用したナビゲーションとメッセージ

Salesforce Platform には、ナビゲーションとメッセージ用のイベントメカニズムが搭載されています。このメカニズムは、Visualforce で sforce.one という JavaScript オブジェクトとして公開されます。Salesforce モバイルアプリケーションに表示されるどのページでも利用できます。

sforce.one オブジェクトには次の関数があります。sforce.one オブジェクトからドット表記を使用して関数を参照します。たとえば、sforce.one.navigateToSObject(recordId, view) です。

これらの関数で起動される基になるイベントの詳細は、『Lightning Aura コンポーネント開発者ガイド』を参照してください。

関数 説明
back(​[refresh]) sforce.one 履歴に保存されている、以前の状態に移動します。ブラウザの [戻る] ボタンをクリックするのと同じです。

refresh は省略可能です。デフォルトでは、ページは更新されません。可能な場合は true を渡してページを更新します。

navigateToSObject(​recordId​[, view]) recordId で指定した sObject レコードに移動します。このレコードの「ホーム」には複数のビューがあり、このビューは Salesforce モバイルアプリケーション内で、ユーザがスワイプして移動するスライドとして表示されます。

view は省略可能でデフォルト値は detail です。view には最初に表示する、レコードのホーム内のスライドを指定します。

ContentNote sObject に対応するレコード ID はサポートされていません。

メモ

使用できる値は次のとおりです。
  • detail: レコード詳細スライド
  • chatter: Chatter スライド
  • related: 関連スライドのビュー
navigateToURL(​url​[, isredirect]) 指定した URL に移動します。
相対ルートと絶対 URL がサポートされています。相対 URL は Lightning ドメインルートに対して相対的で、ナビゲーション履歴を保持します。たとえば、Visualforce ページの相対ルート URL には、/apex/c__Listen のようにプレフィックスが付けられます。../apex/c__Listenapex/c__Listen のような相対 URL はサポートされません。外部 URL、つまり Lightning ドメインの外部の URL は別のブラウザウィンドウに開きます。

ユーザのデバイスプラットフォーム、デバイス設定、Salesforce のバージョン、および開いている外部 URL の認証要件によっては、別のブラウザに認証や再認証が必要な場合があります。

メモ

アプリケーション内のさまざまな画面に移動するには相対 URL を使用します。ユーザに別のサイトまたはアプリケーションへのアクセスを許可するには外部 URL を使用します。ユーザは移動先のサイトまたはアプリケーションで、元のアプリケーションに保持する必要のないアクションを実行できます。ユーザが元のアプリケーションに戻るには、別のアプリケーションを終了したときに、外部 URL によって開かれた別のウィンドウを閉じる必要があります。この新しいウィンドウは、元のアプリケーションとは別の履歴を持ち、ウィンドウを閉じるとこの履歴は破棄されます。つまり、ユーザは [戻る] ボタンをクリックして元のアプリケーションに戻ることはできません。ユーザは新しいウィンドウを閉じる必要があります。

外部アプリケーションを起動し、ユーザが適切な操作を行えるようにするため、mailto:tel:geo: などの URL スキームがサポートされています。ただし、サポートはモバイルプラットフォームとデバイスによって異なります。mailto:tel: は信頼できますが、他の URL については、使用が想定されるさまざまなデバイスでテストすることをお勧めします。

isredirect は省略可能であり、デフォルトは false です。ナビゲーション履歴の現在の URL を新しい URL に置き換えるようにするには、true に設定します。

<apex:commandButton> または任意の <button type="submit"><input type="submit">onClick ハンドラ内で navigateToURL を使用する場合は注意してください。isredirect=true の場合も、コマンドボタンのデフォルトのクリックアクションはフォーム投稿です。この場合、コマンドボタンによってフォーム投稿と navigateToURL アクションが実行されるため、ユーザは前のページに移動するために戻るボタンを 2 回クリックする必要があります。デフォルトのクリックアクションを回避するには、event.preventDefault() をコールするか false を返すように onClick ハンドラを設定します。

メモ

ContentNote sObject に対応する URL はサポートされていません。

メモ

navigateToFeed(​subjectId, type) subjectId で絞り込んだ、指定した type のフィードに移動します。一部のフィード type では、subjectId は必須ですが無視されます。これらのフィード type では、現在のユーザの ID を subjectId として渡します。
type はフィードの種別です。使用できる値は次のとおりです。
  • BOOKMARKS: コンテキストユーザがブックマークとして保存したすべてのフィード項目が含まれます。現在のユーザの ID を subjectId として渡します。
  • COMPANY: 種別が TrackedChange のフィード項目を除くすべてのフィード項目が含まれます。ユーザがフィード項目を表示するには、親への共有アクセス権が必要です。現在のユーザの ID を subjectId として渡します。
  • FILES: コンテキストユーザがフォローしている人またはグループによって投稿されたファイルを含むすべてのフィード項目が含まれます。現在のユーザの ID を subjectId として渡します。
  • GROUPS: コンテキストユーザが所有するか、メンバーであるすべてのグループのすべてのフィード項目が含まれます。現在のユーザの ID を subjectId として渡します。
  • NEWS: コンテキストユーザがフォローする人、ユーザがメンバーとなっているグループ、およびユーザがフォローしているファイルとレコードのすべての更新が含まれます。親がコンテキストユーザであるレコードのすべての更新が含まれます。現在のユーザの ID を subjectId として渡します。
  • PEOPLE: コンテキストユーザがフォローしているすべての人によって投稿されたすべてのフィード項目が含まれます。現在のユーザの ID を subjectId として渡します。
  • RECORD: 親が指定されたレコードであるすべてのフィード項目が含まれます。レコードは、グループ、ユーザ、オブジェクト、ファイル、その他の標準またはカスタムオブジェクトの場合があります。レコードがグループの場合、フィードにはそのグループにメンションしているフィード項目も含まれます。レコードがユーザの場合、フィードにはそのユーザに対するフィード項目のみが含まれます。別のユーザのレコードフィードを取得できます。レコードの ID を subjectId として渡します。
  • TO: コンテキストユーザのメンションを含むすべてのフィード項目が含まれます。コンテキストユーザがコメントしたフィード項目、コンテキストユーザが作成し、コメントされたフィード項目が含まれます。現在のユーザの ID を subjectId として渡します。
  • TOPICS: 指定したトピックを含むすべてのフィード項目が含まれます。トピックの ID を subjectId として渡します。この値は、モバイル Web の Salesforce でのみサポートされます。トピックは、Salesforce for iOS または Salesforce for Android では使用できません。
navigateToFeedItemDetail(​feedItemId) 特定のフィード項目 feedItemId と関連付けられたコメントに移動します。
navigateToRelatedList(​relatedListId, parentRecordId) parentRecordId の関連リストに移動します。たとえば、Warehouse オブジェクトの関連リストを表示する場合、parentRecordIdWarehouse__c.Id です。

relatedListId は、表示する関連リストの API 参照名または ID です。

navigateToList(​listViewId​, listViewName, scope) listViewId (表示されるリストビューの ID) で指定されたリストビューに移動します。

listViewName にリストビューのタイトルを設定します。リストビューに保存されている実際の名前と一致する必要はありません。保存されている名前を使用するには、listViewName を null に設定します。

scope に、ビュー内の sObject の名前 (「Account」や「MyObject__c」など) を設定します。

createRecord(​entityName​[, recordTypeId][, defaultFieldValues]) 指定した entityName (「Account」や「MyObject__c」など) のレコードを作成するページを開きます。

recordTypeId は省略可能ですが、作成されるオブジェクトのレコードタイプを指定します。recordTypeId を指定しないで createRecord を呼び出すと、エラーになることがあります。

defaultFieldValues は省略可能ですが、指定すると、パネルに表示されていない項目を含め、レコード作成パネルに項目が事前入力されます。ユーザには、値が事前入力される項目に対する作成アクセス権が必要です。項目のアクセス制限によって発生した保存時のエラーは、エラーメッセージには表示されません。

editRecord(​recordId) recordId で指定したレコードを編集するページを開きます。
showToast({toastParams}) トーストを表示します。トーストはビューの上部にあるヘッダーの下にメッセージを表示します。toastParams オブジェクトでは、トーストの属性を設定します。force:showToast Aura イベントで使用できる任意の属性を使用します。次に例を示します。
1sforce.one.showToast({
2    "title": "Success!",
3    "message": "The record was updated successfully."
4});
publish(​messageChannel, ​message) Lightning Message Service を使用して、messagemessageChannel に公開します。「メッセージチャネルでの公開」を参照してください。
subscribe(​messageChannel, ​function) Lightning Message Service を使用して、messageChannel に登録します。指定された function は、購読メッセージチャネルのメッセージが公開されたときに実行されます。subscribe() 関数によって、購読オブジェクトが返されます。このオブジェクトには unsubscribe() を使用できます。「メッセージチャネルの購読および購読取り消し」を参照してください。
unsubscribe(​subscription) メッセージチャネルの subscription オブジェクトの購読を取り消します。「メッセージチャネルの購読および購読取り消し」を参照してください。
sforce.one オブジェクトを使用するときは、次の点に留意します。
  • sforce.one.navigateToURL をコールしたときに、URL がオブジェクトの標準ページまたは Chatter ページを参照すると、「Unsupported Page」 (サポートされていないページ) というエラーが発生することがあります。このエラーを回避するには、URL がスラッシュで始まっている (_ui ではなく、/_ui が使用されている) ことを確認します。
  • sforce.one.createRecord メソッドは、Visualforce による標準アクションへの上書きを無視します。
  • 開発者は、pageReference クラスを使用して、Salesforce モバイルアプリケーションのナビゲーションを制御できます。一部のアクションとそれに関連する pageReference URL は、まだ完全にはサポートされていません。たとえば、コピーまたは編集アクションがある standard_recordPage は、正常に機能しない場合があります。将来のリリースでは、完全にサポートされる予定です。