地道に引きこもりしてます

jquery plugin

json for jqueryGlen Hinkle (tempire)が気に入らなかったので自分で作ってみました.何が気に入らないかというと,cpu使用率が100%になったりIEで動かなかったりしたからです.json for jqueryをベースにしてみました.

$.json = {script: ''};

$.fn.json = function( url, callback ) {
  var noCacheIE = '&noCacheIE=' + (new Date).getTime();
  var script = document.createElement('script');
  load( url.replace( /{callback}/, callback ) );
  return this;

  function load( url ) {
    if ($.json.script){
      var headLoc = document.getElementsByTagName('head').item(0);
      headLoc.removeChild($.json.script);
    }
    script.type = 'text/javascript';
    script.src = url + noCacheIE;
    script.charset = 'utf-8';
    $('head',document).append( script );
    $.json.script = script;
  }
}

このpluginの名前を考えないと.jsonという名前はすでに使われているから使えないし,cometもだめだし.さてどうしようかな,と.っても,jqueryのpluginの仕組みをよく理解せずに作ったので根本的に何か間違っているかも.

所感

今回作っているチャットサーバはlong-polling型というタイプのcometです.クライアントサーバ間のセッションがちょこまか切れることが特徴で,サーバからpushするタイミングを短くしていくとセッションが切れたタイミングにデータを送ろうとして失敗することがあります.頻繁にサーバからデータを送る用途には向いてません.次はHTTPストリーミング型のcometを作って動きを確かめてみるつもりです.