再び

2011-05-31 3 views
0

それをロードすることなく、子フレーム上のjQueryを使用すると、それは二回のiframe whithoutロードjqueryの内の親はiframeページ&にjqueryのをロードして使用することが可能である、 ページに一度だけのjQueryをロードすることを意味し、ifrmaeでそれを使用して内に再び

答えて

1

確かに、がjQueryスクリプト、つまり<script src="....">をロードしていないことを確認してから、親のjQueryインスタンスにアクセスできます:

var $ = window.top.$; 

、2番目のパラメータを使用して正しいコンテキストを使用してください:

$('img', document); 

これが不可能な場合は、ダウンロードして実行されることから、スクリプトを「予防」することはできません。

1

子フレームに親フレームからのjQueryオブジェクトへの参照を与えることができますが、さまざまな場所でjQuerydocumentというコンテキストのオブジェクトを使用しているため、使用には非常に注意する必要があります(もちろん)親のdocumentになります。いくつかの場所でそれを上書きすることができます(たとえば、$()で要素を検索する場合、2番目のパラメータとして検索するコンテキストを与えることができます)が、それは価値があるよりも面倒です。

しかし、jQueryを再ロードすることは問題ではありません。それはキャッシュから来るべきです。確かに、jQueryファイルを提供するときに適切なキャッシュヘッダーを使用することで、「修正されていない」レスポンスを持つ追加のHTTP GETが存在する可能性もあります。 (ホストしているさまざまなCDNのキャッシュヘッダーを確認していません)