セキュアなラッパー
セキュリティ上の理由で、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.localName
Node.namespaceURI
Node.nodeValue
Node.nextSibling
Node.previousSibling
Node.parentElement
Node.parentNode
Node.prefix
NonDocumentTypeChildNode.nextElementSibling
NonDocumentTypeChildNode.previousElementSibling
DocumentOrShadowRoot.getSelection()
DocumentOrShadowRoot.styleSheets
DocumentOrShadowRoot.pointerLockElement
DocumentFragment.getElementById()
ParentNode.append
ParentNode.prepend
constructor
EventTarget.dispatchEvent
pictureInPictureElement
Lightning Web セキュリティではラッパーを使用しません。JavaScript Sandbox で API ディストーションを使用して、安全でない動作を可能にする API を個々に選択して変更します。