元記事

prototype.jsを10KBにする方法の続き(.htaccessをスマートに使う) : 亜細亜ノ蛾 - Weblog

非同期通信のリクエスト数を取得するから丸ごとコードを拝借しました。問題があれば削除・または訂正します。


非同期通信のリクエスト数を表示する


そーすこーど

<html>
      <head>
      <meta http-equiv="content-type" content="text/html;charset=utf-8">
      <title>Sample</title>
      <script type="text/javascript" src="http://asiamoth.com/bin/js/prototype-1.4.0.js"></script> <!-- この一行に色々ありました…… -->
      <script type="text/javascript"><!--
      function ajaxReq(url){
      new Ajax.Updater( "result", url, { method: "get" });
      alert("リクエスト数:"+Ajax.activeRequestCount);
      }
      // --></script>
      </head>
      <body>

      <h1>非同期通信のリクエスト数を表示する</h1>

      <form>
      <input type="button" value="テキストファイルを読み込み" onClick="ajaxReq('sample.txt')">
      </form>

      <div id="result"></div>
    

Port80 Software: Compression Checkで圧縮状態を調べると圧縮されていますが、転送時に圧縮しているわけではありません。同ディレクトリに prototype-1.4.0.js.gz という圧縮したファイルを用意し、UA に応じて圧縮 / 非圧縮を振り分けています。

UA を Safari にしてアクセスしたヘッダを見てもらうと判るように、Safari でも Content-Type: application/x-javascript で圧縮ファイルを返すようにしてみました。Safari をお使いの方も、ちゃんとファイルの読み込みができますでしょうか?(どきどき)

RewriteEngine on
      RewriteCond %{HTTP:Accept-Encoding} gzip
      RewriteCond %{REQUEST_FILENAME} !\.gz$
      RewriteCond %{REQUEST_FILENAME}\.gz -s
      RewriteRule .+ %{REQUEST_URI}.gz

      ForceType application/x-javascript
      AddEncoding x-gzip .gz
    

odz buffer - Safari と gzip 圧縮 JavaScriptユンサンの/융상의/YungSang's: .jgz と .js.gz と Apache の設定を参考にしました! ありがとうございます!

prototype.jsのファイルに直リンだけは勘弁な!(このページへの直リンならおk)

Ref: