The Salesforce Developers website will undergo maintenance on May 29, 2024 from 3:00 a.m. UTC to 10:00 a.m. UTC. The maintenance process may affect the availability of our documentation. Please plan accordingly.

LWS に対するサードパーティライブラリの考慮事項

サードパーティのスクリプトは、LWS を有効にして実行したときに次のような動作をする場合、問題が発生する可能性があります。

サードパーティスクリプトの中には、グローバル window オブジェクトに自身が追加されることを期待するものがあります。ただし、LWS ではこのようなスクリプトは、Sandbox からグローバル window オブジェクトの仮想コピーにアクセスするように制限されています。

実際のグローバル範囲にアクセスするのではなく、LWS Sandbox のグローバル範囲でコードが実行されるようにするために、スクリプトコードで selfglobal に割り当てるよう修正します。

このコードでは、thisglobal としてクロージャー関数に渡されます。LWS では、thisglobal は未定義なので、このコードでは global が Sandbox の global として評価されるように記述しています。

サードパーティライブラリのスクリプトが明示的に "use strict" に設定されている場合、LWS で実行中に、コンポーネントがそのスクリプトを使用すると、ブラウザでエラーが発生することがあります。

例えば、スクリプトがグローバルオブジェクトに何かを設定しようとすると、エラーが発生します。LWS では最も厳格なモードの制限を暗黙的に適用しますが、JavaScript サンドブックスの仮想グローバルオブジェクトへの書き込みは許可しています。厳格モードをコードで明示的に設定すると、LWS と干渉します。

解決するには、サードパーティスクリプトの "use strict" を削除します。

または、前述のとおり selfglobal に割り当てるように、サードパーティコードを変更します。