セキュアなラッパー
セキュリティ上の理由で、Lightning Locker は、オブジェクトを非表示にしたり、オブジェクトのセキュアなバージョンでオブジェクトをラップしたりして、グローバルオブジェクトの使用を制限します。たとえば、window のセキュアなバージョンは SecureWindow です。Locker は window へのコールを捕捉し、代わりに SecureWindow を使用します。
SecureWindow、SecureDocument、SecureElement ラッパーでサポートされる API を確認するには、Locker API ビューアツールを使用します。
SecureWindow使用可能: Lightning Web コンポーネントおよび Aura コンポーネント
windowオブジェクトのセキュアなラッパー。DOM ドキュメントを含むウィンドウを表します。Lightning Web コンポーネントと Aura コンポーネントが同じ名前空間に属している場合、これらのコンポーネントは、同じ
SecureWindowインスタンスを共有します。SecureDocument使用可能: Lightning Web コンポーネントおよび Aura コンポーネント
documentオブジェクトのセキュアなラッパー。HTML ドキュメントまたはページのルートノードを表します。documentオブジェクトは、ページのコンテンツ、つまり DOM ツリーへのエントリポイントです。Lightning Web コンポーネントと Aura コンポーネントが同じ名前空間に属している場合、これらのコンポーネントは、同じ
SecureDocumentインスタンスを共有します。SecureObject使用可能: Lightning Web コンポーネントおよび Aura コンポーネント
Lightning Locker によってラップされるオブジェクトのセキュアなラッパー。通常、
SecureObjectが表示されたときは、基盤となるオブジェクトにアクセスすることができず、そのプロパティは使用できないことを意味します。SecureElement使用可能: Lightning Web コンポーネントおよび Aura コンポーネント
elementオブジェクトのセキュアなラッパー。さまざまな HTML 要素を表します。Lightning Web コンポーネントと Aura コンポーネントが同じ名前空間に属している場合、これらのコンポーネントは、同じ
SecureElementインスタンスを共有します。Lightning Web コンポーネントでは、
SecureLightningElementラッパーが追加で使用されます。SecureLightningElement使用可能: Lightning Web コンポーネント
LightningElement基本クラスのセキュアなラッパー。Lightning Web コンポーネントはLightningElement基本クラスを拡張し、実行時に Locker はこのクラスをSecureLightningElementに切り替えます。Lightning Web コンポーネントを作成するときは、SecureLightningElementを直接拡張しないでください。次の API はサポートされていません。
Element.attachShadow()Element.shadowRoot— 代わりにthis.templateを使用してください。Element.slot
SecureTemplate使用可能: Lightning Web コンポーネント
templateオブジェクトのセキュアなラッパー。shadowRootノードを表します。次の API はサポートされていません。
Node.localNameNode.namespaceURINode.nodeValueNode.nextSiblingNode.previousSiblingNode.parentElementNode.parentNodeNode.prefixNonDocumentTypeChildNode.nextElementSiblingNonDocumentTypeChildNode.previousElementSiblingDocumentOrShadowRoot.getSelection()DocumentOrShadowRoot.styleSheetsDocumentOrShadowRoot.pointerLockElementDocumentFragment.getElementById()ParentNode.appendParentNode.prependconstructorEventTarget.dispatchEventpictureInPictureElement
Lightning Web セキュリティではラッパーを使用しません。JavaScript Sandbox で API ディストーションを使用して、安全でない動作を可能にする API を個々に選択して変更します。