4

同じ javascript ライブラリ (jquery など) をインポートする必要がある複数の iframe を持つ Web アプリケーションがあります。

一度だけロードして、そのデータをすべての iframe で共有する方法はありますか? iframe ごとに同じ JS ファイルを 1 回ずつロードしているため、ページのロードが遅くならないようにしたいと考えています。

ありがとう!

編集: 人々は iframe からデータを共有できないと言っていますが、もし js インポートがすべてネームスペースと言う名前空間にあり、iframe が NAMESPACE = parent.NAMESPACE のようなことをするとどうなるでしょうか?

4

3 に答える 3

3

URI が同じで、適切なキャッシュ コントロール ヘッダーがあると仮定するとsrc、JS はキャッシュされ、フレームごとに再ダウンロードされません。

そうは言っても、どうしてもやりたい場合は、トップ フレームにロードしてから、parentオブジェクトを介してすべてにアクセスできます。

例: http://dorward.me.uk/tmp/frames/top.html

于 2012-07-05T16:23:04.170 に答える
3

すべてのフレームが同じ js ファイルをロードしている場合、最新のブラウザー (chrome、firefox、IE) はキャッシュから同じファイルをロードするだけでよいため、同じファイルを何度も再ロードする必要はありません。ページの読み込み時間が長い場合は、JavaScript を縮小する (別のプログラムを使用して js ファイルを小さくする) ことを検討してください。これにより、読み込み時間を大幅に短縮できます。

于 2012-07-05T16:25:02.477 に答える