2011年2月5日

Androidのブラウザでリンクをタップした時の枠線と背景色を消す方法

Androidのブラウザでは、リンクをタップするとその瞬間から次のページに移るまでの間、リンク部分に緑色の枠線と薄い緑色の背景が表示される。

機種によってはオレンジ色の場合もあるらしい。




とにかく、この枠線と背景色がとても目障りになる場合がある。JavaScriptを使ったゲームなどを動かしている時は特にそうだ。

そこでこの枠線と背景色が表示されない様にする方法を調べてみた。

Android browser GREEN border on click... - Stack Overflow

-webkit-tap-highlight-color: rgba(0, 0, 0, 0);

というスタイルを該当のリンクに適用すればOKとの事。

実際に試した見たところ、これでバッチリだった。
良かった良かった。









.

2011年1月29日

GoogleのCDNを使ってjQueryを読み込む時の注意点

今日、この記事を読んだ。

Easy HTML5 Template
http://www.impressivewebs.com/easy-html5-template/

HTML5についての良記事だ。

コメント欄の中にjQueryの読み込みにGoogleのCDNを使っている部分についてのやり取りがあって、そこが興味深かったのでメモしておこう。

常に最新版を使う様にする為には、マイナーバージョンを指定せずに、

http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js

の様に書いた方が良いのでは? という指摘に対して、

But regarding the versioning, that’s not the best choice, and it’s strongly discouraged. (...) there WILL be breaking changes even within a 1.4.x release. But mostly it’s for the caching. If you use the “1.4″ reference or the “1″ reference, you get zero cache benefit.

(注:かなり意訳)
それは最良の方法ではないし、むしろやらない方がいいと思う。同じ1.4.x系バージョンの中でも互換性の無い変更が行われる事が有り得るからね。でももっと大きな理由は、キャッシュの問題。"1.4"や"1"という表記を使った場合は、せっかくのキャッシュの恩恵を得られなくなってしまうんだ。

と回答している。

え、そうなの? と思ってさらにその下に示されていたリンクを読んでみた。

6,953 reasons why I still let Google host jQuery for me
http://encosia.com/2010/09/15/6953-reasons-why-i-still-let-google-host-jquery-for-me/


Caching and Google's Ajax Libraries API — Cache your jQuery
http://paulirish.com/2009/caching-and-googles-ajax-libraries-api/

これらによると、

「1.4.4」を指定すると取得した内容はブラウザによって1年間キャッシュされるが、
「1.4」または「1」の指定だと、1時間しかキャッシュされない

のだそうだ。


You should never do this in production.

本番環境では決して使うべきではない。

とまで書かれている。

実際にFiddlerを使ってGoogleからのレスポンスヘッダを確認して見た。

「1.4.4」を指定した場合

「1.4」を指定した場合



「1」を指定した場合


確かに、上の記事で指摘されている通りの様だ。

結論:
GoogleのCDNを使ってjQueryを読み込む時は、マイナーバージョンまで指定しよう。










.

2011年1月28日

「目標の公言は必ずしも目標達成に役立つわけではない」とは思わない

「他人に自分の目標を公言するよりも、黙っているほうが目標達成につながりやすい」という説を紹介している記事があった。

Lifehacker - 目標の公言は、必ずしも目標達成に役立つわけではないらしい
http://www.lifehacker.jp/2010/10/101022keepyourgoals.html

 どうも納得が行かないので個人的に腑に落ちなかった点を書いておきたい。

 この説の理由として、「他人に話してしまうとそれだけで「やった気」になってしまい、その満足感ゆえ、実際に目標を達成しようというモチベーションが上がりづらくなってしまう」という事が挙げられているが、果たして本当にそうだろうか。
 
 自分の体験から言うと「目標を公言しただけでやった気になった」という様な事は今までに一度も無い。むしろ公言する事によって目標とする状態と今現在の自分の状態の間のギャップの存在を公に認めて宣言する事になるので、モチベーションは上がりこそすれ下がる事は無いと思う。

 もしモチベーションが維持出来ずに目標を達成出来なかったのなら、それは公言したかどうかに関わらず、その人の「想い」がその目標にこもっていなかったからではないだろうか。本当に心の底から「こうなりたい」と想う自分を想像してそこから導き出した目標であればその様な事にはならないはずだ。

 2009年に心理学の教授が行ったという実験の結果が引用されているが、たった45分間の実験の結果で、1年~数年という長いスパンで見た場合の効果についても判断出来るとは到底思えない。

 そもそも、目標を公言したくない(出来ない)、という人は、どこかで最初から達成出来なかった場合の逃げ道を用意したいという気持ちがあるのではないだろうか。「絶対に達成するのだ」と思って、実際に達成した後の自分の姿を明確にイメージ出来ている人は、それを他人とシェアする事によってむしろ楽しくなるはずだ。

 自分はこれからも目標を公言してそれを達成して行く人間でありたいと思う。







.