IEにてAjax通信がキャッシュされる、F5でリフレッシュしてもダメ
XMLHttpRequestで取得したリソースがキャッシュされて非常に困った…
「F5」や「Ctrl + F5」もムダだった…
どうやらIEだけの問題のようです
解決策
jQueryではちゃんと対策されているみたい!さすが!
$.ajax({ type: "GET", cache: false url: "http://www.hoge.com/", success: function(data, status){ //処理 } });
参照
いろんな解決方法があるみたいですね
今後つまづきそうなものはすべて貼っておこう
IE の Ajax (XMLHTTP) で、通信が行われたかキャッシュが使われたかを判定する方法 - IT戦記
[jQuery]IEがajaxのリクエスト結果をキャッシュする問題の解消方法 | HappyQuality
jQuery.ajax でリクエストをキャッシュさせない方法 - 葉っぱ日記
iPhoneアプリ Evernote を導入
評判が良さそうなので
とりあえず使ってみないと分からない!
使うなら早めに使ったほうが良さそう!
この程度の認識で本日導入〜!
画像やPDF内の文字を含めた全文検索もできるようで?
手書きの議事録とかも認識してくれるのかなぁ〜?
参照
Evernote ついに日本語対応へ。始めるならば今! | Lifehacking.jp
とりあえず1,000件か…
メーリングリストとかで流れてくるメールを
そのままコピーしたりしてみようかな?
そのうち自分なりの使い方をまとめたいですね
Google Chrome Extension の AutoPatchWork の次ページを読み込む判定
どのようにして次ページを読むかを判定しているんだろう???
って、ソース公開されてるんだから読め!ってね…
自分が作成した一覧画面で次ページが自動的に読み込まれないとなると
DOMの組み方や、ページのデザイン、リクエストパラメータの仕様などが悪いのかと不安になる…
ユーザ操作で強制的に次ページを読み込ませることもできるみたいであるが(?)
Google Chrome Extension 「AutoPatchWork」
Google Chrome の User-Agent に Safari
Google Chrome の User-Agent に「Safari」の文字列が入ってるのね…
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.43 Safari/532.5
レンダリングエンジンがWebKitだからかな?
User-Agentで条件文書くときとか気をつけないと!
参照
ファイルダウンロード処理において、レスポンスヘッダー Content-Disposition に attachment; filename= に日本語を設定すると文字化けする
いろいろと回避方法があるようだが
Safariに関してはこの方法では文字化けは不可避らしい…
う〜ん困った…
回避方法
ブラウザ | 対応 |
---|---|
IE6,7,8 | URLエンコーディングで回避できる(java.net.URLEncoder#encode() を使用する) |
FireFox3.5 | MIME-Bエンコーディングで回避できる(javax.mail.MimeUtility#encodeWord() を使用する) |
Chrome4.0 | [FireFox]と同じ |
Safari | どう足掻いても化けるので、サニタイジングを行うなどの処理が必要 |
実装
このような条件でファイル名を変換
User-Agentの条件をもっと細かく見る必要があるかもしれない(?)
// User-Agent取得 String agent = request.getHeader("User-Agent").toUpperCase(); if(agent.indexOf("MSIE") > -1) { // Internet Explorer fileName = URLEncoder.encode(fileName, "UTF-8"); } else if(agent.indexOf("FIREFOX") > -1 || agent.indexOf("CHROME") > -1){ // FireFox, Google Chrome fileName = MimeUtility.encodeWord(fileName, "ISO-2022-JP", "B"); } else if(agent.indexOf("SAFARI") > -1) { // Safari // 日本語(例えばASCII文字以外)をサニタイズする処理を挟む fileName = sanitizeForSafari(fileName); } else { // その他 } return fileName;
参照サイト
Safariの文字化けを回避する対応が載っているリンクを貼っておきます
日本語ファイル名の書き出し(Safari対策) - Chewing GUM! - Seesaa Wiki(ウィキ)
日本語ファイル名
いずれもリクエストパラメータを変更する必要があるっぽい
これを参考に、リダイレクトすればそれっぽくできそうだけど?
それにはサーバ側の口も必要なワケで…
う〜ん…まいった…
Javaの列挙型(Enum)のequalsと==とtoString
恥ずかしながらすぐに忘れる…
static enum Number{ ONE, TWO, THREE } public static void main(String args[]) { System.out.println("ONE equals Number.ONE is " + "ONE".equals(Number.ONE)); System.out.println("ONE equals Number.ONE.toString() is " + "ONE".equals(Number.ONE.toString())); System.out.println("ONE == Number.ONE.toString() is " + ("ONE" == (Number.ONE.toString()))); }
実行結果
ONE equals Number.ONE is false ONE equals Number.ONE.toString() is true ONE == Number.ONE.toString() is true
文字列との比較はtoString()を使用
Enum#equals()
内部では「==」を使用している、なるほどね〜
public final boolean equals(Object other) { return this==other; }