0

各HTMLページでjQueryの再読み込みを停止する方法はありますか?たとえば、次の2つのHTMLページがあります。

  <body>
      <script src="jquery"></script>

どちらの場合も、同じjQueryがブラウザーに送信されます。IE。Jquery-1.6.min.js(現在)

Fiddlerは、どちらの場合もファイルが送信されたことを示しているようです。これはフィドラーの表示です。

#  Result  Protocol  Host            URL      Body    Caching  Content-Type

1  200     HTTP      localhost:4567  /        9,101            text/html;charset=utf-8
2  200     HTTP      localhost:4567  /jquery  90,518           text/html;charset=utf-8
3  200     HTTP      localhost:4567  /namadd  8,706            text/html;charset=utf-8
4  200     HTTP      localhost:4567  /jquery  90,518           text/html;charset=utf-8

現在、Ruby-Sinatraマイクロフレームワークを使用してデータを提供していますが、最終的には別のものになる可能性があります。

  • 上からの項目1は、送信されているHTMLページを示しています。
  • 項目2は、HTMLが。を使用してjQueryをロードしていることを示しています<script src="jquery"></script>
  • 項目3は、ロードされている別のHTMLページを示しています。
  • 項目4は、HTMLがjQueryをロードしていることを示しています。<script src="jquery"></script>
4

3 に答える 3

3

一般的に、ここで話しているのはキャッシングです。動的ページ (IE: ASP.NET、php など) では、通常、適切な HTTP ヘッダーを追加することにより、ページのキャッシュ可能性をプログラムで定義できます。

ただし、このような静的ファイルの場合、そのキャッシュは Web サーバーとその設定によって決定されます。HTML でキャッシュする簡単な方法はありません (複雑な方法を使用して行うことができる場合があります) が、ファイルをキャッシュ可能に設定するようにサーバーを構成する方法を見つけることです (本当に必要な場合)。クライアントにキャッシュして、再度要求しないようにします)。

于 2012-10-09T11:24:10.137 に答える
1

あなたの場合、別のjqueryライブラリをロードする前に確認できます

このように

if(window.$==undefined){ //Will return false if jquery is already loaded
   load your script 
}else{
  do not load the script 
}
于 2012-10-09T11:44:44.227 に答える
0

この問題を解決するために私が見つけることができる唯一の方法は次のとおりです。

  1. ブラウザーの新しい sessionStorage および localStorage 機能。

  2. ajax.googleapis.com

私が達成したいのは、jQueryを一度だけダウンロードして、複数のフォームで使用することです。

Google のソリューションは非常に優れています。ブラウザのキャッシュがクリアされるか、同様の処理が行われない限り、永久に 1 回だけ読み込む必要があるからです。これにより、帯域幅が大幅に節約されます。おそらく localStorage は同じことを達成します

sessionStorage と localStorage はおそらく同様のことを達成しますが、私はまだそれらを使用しようとはしていませんが、サードパーティへの依存を取り除くためだけに行うかもしれません. つまり、Google はビジネスですよね。

于 2012-10-11T03:39:05.320 に答える