私は、ベンダーが私たちのウェブサイトに入ることを期待している(時にはひどい)JavaScriptをたくさん扱わなければなりません。それらのうちのいくつかは、名前空間を持たない任意の名前をグローバルスコープに追加します。私はこれらのプログラムをサンドボックス化するという考え方を変えていますので、グローバルスコープに直接アクセスすることはできませんが、実際にはうまくいくものは考えられませんでした。 (私はフェッチされたコードを思いついたと思ったが、それは悪い考えだと確信している)グローバル名前空間を保護するサードパーティJavaScriptをサンドボックスできますか?
サードパーティ製の任意のJavaScriptを使用している間にグローバルスコープをきれいに保つための解決策はありますか?
編集:@ kirilloidのコメントは、このコードがどのように配信されたかについてはっきりしていないことを伝えています。私は通常コードを私たちのウェブサイトに入れることはありません。ほとんどの場合、私はただURLを与えられ、それを指すscript
タグを作成するように頼んでいます。
コードを挿入すると、関数呼び出しにドロップされ、必要な機能のみが表示されます。 http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth – kirilloid
@kirilloid混乱して申し訳ありません。モジュールパターンを使用するコードがあればモジュールパターンを使用できます。上記の私の* eval *のアイデアでこれをやっていましたが、たいていの場合、他の場所でホストされているサードパーティのスクリプトを指し示すURLが与えられています。私はこれを反映するために私の質問を更新しました。 – kojiro