1

JavaScript がどのように外部ライブラリをロードできるかについて、少し混乱しています。script タグで指定した URL に対して GET リクエストを実行していますか? ブラウザはライブラリのストレージを処理しますか、それとも DOM のどこかに保存されますか?

ブラウザが外部ライブラリをロードする際に行っている可能性のあるほとんどのことは、同一生成元ポリシーに違反しているようです。外部サイトからスクリプトをロードするときに、最新のブラウザーが強制する追加のセキュリティはありますか? 外部ライブラリをロードして、そのソースを画面に出力することはできますか?

ありがとう!

4

1 に答える 1

2

JavaScript がどのように外部ライブラリをロードできるかについて、少し混乱しています。

JavaScript には、ライブラリをロードするためのネイティブな手段がありません。これは、ホスト環境 (ブラウザーや node.js など) によって提供される機能です。

script タグで指定した URL に対して GET リクエストを実行していますか? ブラウザーはライブラリーのストレージを処理しますか、それとも DOM のどこかに保持されますか?

ブラウザーは GET 要求を行い、スクリプトをビューポートの JavaScript 環境にロードしますが、HTMLScriptElement DOM ノードのみを DOM に保持します。

ブラウザが外部ライブラリをロードする際に行っている可能性のあるほとんどのことは、同一生成元ポリシーに違反しているようです。

同一オリジン ポリシーは、サード パーティ サイトの非公開データを保護するように設計されています。スクリプトはデータではありません (スクリプトはデータを埋め込むように記述できますが、JSON-P は同じ生成元ポリシーを回避する方法としてこれに依存しています)。

外部サイトからスクリプトをロードするときに、最新のブラウザーが強制する追加のセキュリティはありますか?

いいえ

外部ライブラリをロードして、そのソースを画面に出力することはできますか?

いいえ (ただし、XHR を使用して別の HTTP リクエストを作成し、スクリプト ソースを取得することはできますが、これには同じオリジン ポリシーが適用されます)。

于 2013-06-12T19:50:34.217 に答える