Lightning コンポーネント開発者ガイド
Winter '25 (API version 62.0)
Spring '24 (API version 60.0)
Winter '22 (API version 53.0)
Summer '21 (API version 52.0)
Summer '19 (API version 46.0)
Spring '19 (API version 45.0)
Winter '19 (API version 44.0)
Summer '18 (API version 43.0)
Spring '18 (API version 42.0)
Winter '18 (API version 41.0)
Summer '17 (API version 40.0)
Spring '17 (API version 39.0)
Winter '17 (API version 38.0)
Summer '16 (API version 37.0)
Spring '16 (API version 36.0)
Winter '16 (API version 35.0)
Summer '15 (API version 34.0)
Spring '15 (API version 33.0)
Winter '15 (API version 32.0)
アプリケーションの概要
アプリケーションの UI の設計
アプリケーションテンプレートの作成
JavaScript ES5 の厳格モードの適用
サポートされている JavaScript API フレームワークのメソッドのみへのアクセス
LockerService による影響
コンポーネントの LockerService の無効化
コンポーネントの API バージョンを混在させない
サポートされていないブラウザで無効化された LockService
AppCache の使用
アプリケーションとコンポーネントの配布
LockerService とは?
LockerService は、Lightning コンポーネントのための強力なセキュリティアーキテクチャです。LockerService では、Lightning コンポーネントが各自の名前空間で分離されるためセキュリティが向上します。また、LockerService では、コードのサポート機能が向上するベストプラクティスが促進されます。これは、サポートされる API へのアクセスのみを許可し、公開されていないフレームワーク内部へのアクセスを排除することで実現します。
-
JavaScript ES5 の厳格モードの適用
LockerService では JavaScript ES5 の厳格モードが暗黙的に有効になります。コードで "use strict" を指定する必要がありません。JavaScript の厳格モードにより、コードの堅牢性とサポート範囲が拡大されます。たとえば、このモードでない場合は抑制される一部のエラーを発生させることができます。 -
DOM のアクセスコンテインメント
コンポーネントは、DOM をトラバースして、同じ名前空間内のコンポーネントで作成された要素にアクセスすることしかできません。この動作により、他の名前空間内のコンポーネントで所有される DOM 要素にアクセスするアンチパターンを回避できます。 -
グローバル参照のセキュアなラッパー
LockerService はグローバル参照に制限を適用します。window など、組み込み以外のオブジェクトは LockerService がセキュアなバージョンを用意します。たとえば、window のセキュアなバージョンは SecureWindow です。組み込み以外のオブジェクトと同じ方法でセキュアなラッパーとやりとりできますが、セキュアなラッパーではオブジェクトとそのプロパティへのアクセスが制限されます。セキュアなラッパーでは、基盤となるオブジェクトの API のサブセットが公開されます。 -
サポートされている JavaScript API フレームワークのメソッドのみへのアクセス
サポートされている公開済みの JavaScript API フレームワークのメソッドにのみアクセスできます。これらのメソッドは、https://<myDomain>.lightning.force.com/auradocs/reference.app (<myDomain> はカスタム Salesforce ドメインの名前) にあるリファレンスドキュメントアプリケーションで公開されています。以前はサポートされていないメソッドにアクセスできたため、サポートされていないメソッドが変更または削除されたときにコードが破損するおそれがありました。 -
LockerService による影響
LockService の影響を受けるものと、受けないものについて見てみましょう。 -
コンポーネントの LockerService の無効化
コンポーネントの API バージョンを 39.0 以下に設定すると、コンポーネントの LockerService を無効にできます。コンポーネントが API バージョン 40.0 以上に設定されている場合は、LockerService が有効になります。API バージョン 40.0 は、LockService がすべての組織で有効化された Summer '17 に相当します。 -
コンポーネントの API バージョンを混在させない
一貫性を保ちデバッグを容易にするため、アプリケーション、コンテインメント階層 (コンポーネント内のコンポーネント)、または拡張階層 (コンポーネントを拡張するコンポーネント) のすべてのコンポーネントに同じ API バージョンを設定することをお勧めします。 -
サポートされていないブラウザで無効化された LockService
LockerService は、ブラウザの JavaScript 機能である厳格モード、Map オブジェクト、Proxy オブジェクトのサポートに依存します。ブラウザが要件を満たしていない場合、LockerService はそのすべてのセキュリティ機能を適用できず、無効になります。