Ajax部分を修正@リリースチェッカー
リリースチェッカーをAjax化したのは良いのですが、さっそく気に入らない部分が見つかったので修正しました。
- 「戻る」ボタンで戻ったときに処理結果がリセットされてしまうため、location.hashでクエリを保存するよう変更
- prototype.jsのAjax.Requestの結果が「304 Not Modified」の場合でも処理成功とみなすよう変更
1点目は「http://la.ma.la/blog/diary_200502270128.htm」で良く知られた内容です。
2点目は、Ajax.Requestの仕様を知らなかったのが原因でした。304でもonFailureハンドラが呼び出されるんですね。「msanolog: [Ajax] If-Modified-Sinceヘッダを利用してWebページのキャッシュを行うXMLHttpRequestラッパー」が参考になりますが、肝心のラッパースクリプトがリンク切れで残念。