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

サードパーティエンドポイントからの JavaScript ファイルの読み込み

サードパーティ JavaScript ファイルをコンテンツ配信ネットワー�� (CDN) から動的に読み込むことは避けてください。その代わりに、パッケージの静的リソースフォルダからコードを読み込んでください。
サードパーティ JavaScript ファイルを CDN やその他のサードパーティから動的に読み込むことは、2 つの理由で許可されていません。
  • レビューおよび追跡する製品を明確にするため、ソリューション全体をパッケージバージョン ID でバージョン管理する必要があります。ソリューションがサードパーティエンドポイントからコードを動的に読み込む場合、外部で管理されているコードは、パッケージバージョン ID を変えずに変更されていることがあります。システム管理者および Salesforce セキュリティレビューチームには、コードの変更が通知されません。

    Salesforce は、サードパーティコードを最新のセキュリティ脆弱性から保護し続けることを保証できません。コードをパッケージバージョン管理の対象にするには、パッケージの静的リソースフォルダからコードを動的に読み込みます。パッケージバージョン ID を変更せずに、パッケージ化されたコードを変更することはできません。さらに、バージョン ID を変更すると、コードが変更されたという通知がシステム管理者と AppExchange セキュリティチームに届きます。

  • サードパーティエンドポイントからコードを動的に読み込むと、そのエンドポイントは、パッケージのインストール先の Salesforce 組織にコードを挿入できるようになります。パートナーからではなく、Salesforce がコードを管理している、Salesforce 承認の CDN からのみコードを動的に読み込んでください。
簡潔にまとめると、解決策は次のようになります。
  1. サードパーティ JavaScript ファイルを静的リソースに保存します。
  2. このリソースをソリューションパッケージに追加します。
  3. 各 JavaScript ファイルを $Resource URL から読み込みます。

Visualforce の例:

次のコードスニペットは、セキュリティ違反と、その違反を Apex で Aura の Lightning コンポーネント用に修正する方法を示しています。次の Visualforce コードは、jQuery がサードパーティソースから読み込まれるため安全ではありません。

1<apex:includescript value="https://code.jquery.com/jquery-3.2.1.min.js"/>
次の Visualforce コードは、$Resource URL を使用して jQuery のバージョンをパッケージの静的リソースフォルダから読み込むため安全です。
1<apex:includeScript value="{! $Resource.jQuery }"/>

Aura の例

次の Aura コンポーネントコードは、jQuery がサードパーティソースから直接読み込まれるため安全ではありません。

1<aura:component>
2   <ltng:require afterScriptsLoaded="{!c.initializeUI}"
3   scripts="https://code.jquery.com/jquery-2.2.0.min.js”/>
4<aura:component>

次の Aura コンポーネントコードは、$Resource URL を使用して jQuery がソリューションパッケージから読み込まれ、静的リソースとして参照されるため安全です。

1<aura:component>
2   <ltng:require afterScriptsLoaded="{!c.initializeUI}"
3   scripts="{!$Resource.jsLibraries + '/jsLibOne.js'}"/>
4<aura:component>