2012-01-27 5 views
0

私はかなりの時間にわたって素晴らしいjQueryライブラリを使用しており、AJAXの機能に慣れてきました。私はjQueryのAJAX機能しか必要としないプロジェクトに取り組んでいます。このロジックをjQueryから分離することは、非常に多くの依存関係が存在するため、あまり簡単ではありません。AJAXのスタンドアロンライブラリ

私は(jQueryのが許すのと同じように)、以下を達成することができますAJAXライブラリが必要になります。

  • 同じドメインから別のドメインからロードスクリプト
  • ロードスクリプト
  • は、すぐにコールバックを実行しますスクリプトはjQueryのを使用して

が実行されたとして、これは使用して容易に達成することができます。

$.ajax({ 
    type  : 'GET', 
    url  : url, 
    dataType : 'script', 
    cache : true, 

    success: function() { 
     // script has literally just finished executing... 
    } 
}) 

オープンソースライブラリを十分に確立して(軽量な)これらの要件を達成するには?

+0

何の依存関係がありますか?受け入れられないjQueryのサイズの場合は、[jx](http://www.openjs.com/scripts/jx/)を参照してください。それではまた、最小化されたjQueryはわずか31Kです... – voithos

+0

@voithos jQuery ajaxは、独自の機能を利用するため、少なくとも(jQueryフォーラムに従って)7つのスクリプトを必要とします。 31Kは小さいですが、唯一の要件がAJAXの場合はまだ無駄に見えます。私は "jx"を見ていきます。それが "script" dataType jQueryオプションと同等かどうかを知っていますか?歓声 –

+1

あなたは必要のないように最適化しているようですね。 31Kは小さいです。より小さなものを使用することが実証されていない場合は、知っているものを使用することをお勧めします - あなたの時間は、スクリプト転送で保存された〜20Kよりも貴重です。さらに、予期しない方法でjQueryを使用することになるかもしれません...もちろん、別のライブラリを習得したいのでなければ、それで大丈夫です。 – voithos

答えて

0

私が必要とする機能は、本当にAJAXレスポンスの一部ではないことが判明しました。 jQueryのソースを見ると、 "script"ハンドラは基本的に "script"要素を一時的に作成していて、それが読み込まれると削除されることがわかりました。関連するjQueryのソースに

リンク: https://github.com/jquery/jquery/blob/master/src/ajax/script.js

次のページでは、より詳細にこのプロセスを説明します。jQueryのは、問題を引き起こしていること http://www.ejeliot.com/blog/109