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

Lightning Out の考慮事項と制限

Lightning Out を使用したアプリケーションの作成の大部分は、Lightning コンポーネントを使用したアプリケーションの作成とよく似ています。ただし、コンポーネントは Salesforce の「外部」で実行されるため、いくつかの問題を認識しておく必要があります。そして、コンポーネントやアプリケーションに変更を加える必要があることもあります。

認識しておくべき問題は、2 つのカテゴリに分類できます。

Lightning Out の使用に関する考慮事項

Lightning Out アプリケーションは Salesforce コンテナの外部で実行されるため、いくつかのことに留意し、場合によっては対処する必要があります。

1 つ目に、Lightning コンポーネントは、ユーザのブラウザの Cookie 設定に連動します。Lightning Out は Salesforce の外部で Lightning コンポーネントを実行するため、これらの Cookie は「サードパーティ」Cookie となります。ユーザは、ブラウザ設定でサードパーティの Cookie を許可する必要があります。

最も影響が大きくて明白な問題は、認証です。認証を処理する Salesforce コンテナがないため、自分で処理する必要があります。この重要なトピックは「Lightning Out からの認証」で詳しく説明しています。

もう 1 つの重要な考慮事項は、それほど明白ではありません。アプリケーションでサポートされる多くの重要なアクションは、さまざまな Lightning イベントを起動することによって実現されます。ただし、イベントは森の中で倒れる木のようなものです。誰も耳を澄ましていなければ、効果はあるでしょうか? 多くの主要な Lightning イベントの場合、「リスナー」は Lightning Experience または Salesforce アプリケーションのコンテナである one.app です。そして、イベントを処理する one.app がなければ、実際にイベントは無効です。それらのイベントを起動しても、エラーを表示せずに失敗します。

標準イベントは、コンポーネントライブラリにリストされています。Lightning Out でサポートされていないイベントの [Documentation (ドキュメント)] タブには、次のようなテキストが表示されます。

このイベントは、one.app コンテナによって処理されます。Lightning Experience および Salesforce アプリケーションでのみサポートされています。

メモ

Lightning Out では、Lightning コンソール JavaScript API はサポートされていません。

標準コンポーネントの制限事項

Lightning Out の主要機能は安定しており、完成していますが、その他の Salesforce 機能とのインタラクションについては、まだ開発中のものがあります。

そのうちで主要なものは、Lightning コンポーネントフレームワークに組み込まれた標準コンポーネントです。Lightning Out、および Lightning Out に基づく Visualforce の Lightning コンポーネントなどの多くの標準コンポーネントは、スタンドアロンコンテキストで使用すると正しく動作しません。これは、コンポーネントが、one.app コンテナで使用できるリソースに暗黙的に連動するためです。

所有するコンポーネントのすべての連動関係を明示的にすることで、この問題を避けることができます。ltng:require を使用して、コンポーネント自体に埋め込まれていない必要な JavaScript リソースおよび CSS リソースをすべて参照します。

アプリケーションで標準コンポーネントを使用している場合、Lightning Out または Visualforce の Lightning コンポーネント で使用されているときに、スタイルや動作が記載されているとおりでないことがあります。