1

私は純粋な JavaScript コーダーではなく、JQuery を活用したいと考えています。クライアントに属する多くのサブ Web サイトを持つクライアントの分析を行っています。彼は、Google アナリティクスが機能するのと同じようにレポート機能を実行したいと考えていますが、カスタマイズされたニーズにさらに応えたいと考えています。彼が作成した Web サイトは、異なるバージョンの JQuery を使用している場合もあれば、JQuery を使用していない場合もあります。したがって、彼が実装したすべての Web サイトが JQuery を使用しているとは限りません。だから、これは私が知る必要があることであり、誰でも私が何をすべきかをアドバイスするのを助けることができます:

  1. 純粋な JavaScript を使用して Jquery (Google でホストされている) をロードするための外部 JavaScript を作成したいと考えています。これどうやってするの?
  2. JQuery フレームワークが、Web サイトによって呼び出される可能性がある他の既存のバージョンの Jquery と競合しないように、ロードされた Jquery フレームワークを外部 JavaScript ファイルにのみ使用します。これどうやってするの?
  3. この外部 JavaScript を作成すると、すべてのクライアント Web サイトのヘッド セクションに配置できるため、分析を追跡できます。

私のクライアントは Google アナリティクスの使用を望んでおらず、理由があります。あなたの機能をどのように実装することを提案するかを聞きたいです。

4

2 に答える 2

2

分析は特定の jQuery バージョンに依存するため、分析が含まれているサイトのバージョンを使用することはできません。必要な jQuery を独自のスクリプトにロードする必要があります。

jQuery の$.noConflictで複数のバージョンの jQuery を使用できます。

スクリプトは次のようになります。

var script = document.createElement('script');
script.type = 'text/javascript';
//the url of the needed jquery
script.src = '//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js';
script.onload = script.onreadystatechange = function() { 
  var rs = this.readyState; 
  if (rs) {
    if ((rs != 'complete') && (rs != 'loaded')) {
      return;
    }
  }
  //after loading the jQuery - relinquish jQuery's control of the $ variable.
  var myQuery = $.noConflict(true);
  // alias loaded jQuery to a $ within the functions scope 
  myQuery(document).ready(function($) {
    // code here normally with the loaded jQuery using the $ variable
  });
}
//append the script into the document head
document.getElementsByTagName('head')[0].appendChild(script);

$.noConflict のその他の用途については、jQuery docsをチェックしてください。

于 2013-08-10T11:12:49.123 に答える