2010-12-27 1 views
5

JQueryがターゲットWebブラウザ(ユーザー)にダウンロード(キャッシュ)されているかどうかを確認できますか?例:JavaScriptを使用してクライアント上のどのCDN jQueryがキャッシュされているかを確認する

If (JQuery-from-Microsoft-CDN-downloaded) 
    Then use http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.js 
Else if (JQuery-from-Google-APIs- downloaded) 
    Then use http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js 
Else if (JQuery-from-code.jquery.com- downloaded) 
    Then use http://code.jquery.com/jquery-1.4.4.min.js 
Else use jQuery from my own website. 

ことを意味し、そのバージョンを真使うならば、そうでない場合は、私自身のウェブサイトからのjQueryを使用しない場合は、そのうちの一つは、ターゲットユーザー(Webブラウザ)にダウンロードされているかどうかをチェックするためにはJavaScriptの能力を使用してターゲットユーザーにダウンロードされたJQueryの

+2

興味深い質問のいずれかへのリンクを含んだが、私はこれが可能のwiだとは思いませんライブラリーを実際にロードしています。しかし、Ajax呼び出しを使用して、それが '304 not modified'を返すかどうかをチェックすることは可能かもしれません....しかしこれが実用的かどうかは分かりません。 –

+0

ユーザーはターゲットブラウザで何か「​​ダウンロード」しますか? –

+0

@ルーカ彼は、問題のライブラリが既にキャッシュされているかどうかを意味します –

答えて

4

same-origin policyがこれを達成するのを妨げる別のケースでは、これを行うことはできません。あなたがそれについて考えるなら、それは意味があります。あなたがこれを達成するために使用できるどのような仕組みであれ、でもは、誰がどのサイトを訪問したかを知るために、どのファイルをキャッシュしているか見ることができます。

+0

(ウェブブラウザの)javascriptの力を使って、キャッシュされたlibraresを(動的選択で)使用することは私の考えです –

+3

@Hazro - 私はあなたのアイデア/目標を理解していますしかし、これは可能ではありません...このようなことが許可されていれば、重大なプライバシー侵害になります。残念ながら、これを行うための汎用的な方法はありません。*悪意のある目的に使用することもできません。 –

0

は、あなたのスクリプトはjQueryのは、あなたがDOMを解析し、任意のかどうかを確認することができます含まれ、同じドキュメント内にロードされている場合はjQueryの

var isLoaded = (jQuery) ? true : false; 

または

var isLoaded = (typeof jQuery == 'undefined') ? false : true; 

をロードされているかどうかを確認するには、いくつかの方法がありますSCRIPTタグCDNの

var jQueryVersion = isLoaded ? jQuery.fn.jquery : false; 
+0

バージョン番号のjQuery? –

+0

はいそれは可能です – Nazariy

+0

これは、スクリプトタグのソースURLからダウンロードしたバージョンのみを表示します - 他のページビューから以前にキャッシュされたものではありません – HorusKol

関連する問題