2011年2月17日木曜日

Gmailの新着メールを通知してくれる Firefoxアドオン 4つを比較

Gmailが進化して、Google Chromeなら拡張なしでも(HTML5を使って)Gmailの新着メールをデスクトップ通知してくれるようになった。(Google AppsのGmailはまだ未対応?通知は来たけどうまく機能しなかった。)

で、同じようなことをFirefoxでやりたくてアドオンを調べたのでメモ。
調査ポイントは、

  • Google AppsのGmailで使えるか
  • デスクトップ通知(ブラウザ以外のアプリ(例えばExcel)で作業をしている場合でも、新着メールの通知を表示する)があるか
  • ステータスバーのアイコンをクリックした時に、いい感じにGmailのページを表示してくれるか


Gmail Notifier
  • 2010年の年末頃からログインできなくなった(これにより、世に言うGmail Notifer難民が発生した)
  • Google AppsのGmailでも使用可(だった)
  • デスクトップ通知あり(だった)
  • ステータスバーのアイコンをクリックすると、既にGmailを開いている場合はそのタブを表示、Gmailを開いていない場合は新しいタブを開いて表示、空白タブしかない場合は空白タブ上で表示できるのが便利(だった)
  • 非公式ビルドならログインできるらしい


Gmail Manager
  • Google AppsのGmailでも使用可
  • デスクトップ通知なし
  • 新着メール通知の一部が文字化けしているが、件名とかは無事なので支障はない
  • ステータスバーのアイコンをクリックした時にどのタブで表示するかは設定できるが、Gmail Notifierのような動きはできない
  • 中クリックを新着メールチェックに割り当てられるのは便利

WebMail Notifier
  • Google AppsのGmailで使えなかった。使える場合もあるので、Google Appsのセキュリティ等の個別のポリシーが原因だと思われる


GMail Checker
  • Google AppsのGmailでも使用可
  • デスクトップ通知あり
  • ステータスバーのアイコンをクリックした時にどのタブで表示するかの設定でGmail Notifierのような動きはできない
  • 日本人はあまり使っていない?上記3つに比べて、日本語の紹介サイトが少ない


元々はGmail Notifierを使っていて「デスクトップ通知」を使えていたのだけれど、去年末からログインできなくなった。
それでGmail Managerに乗り換えたが、機能的には良いのだが残念ながら「デスクトップ通知」をしてくれない。
WebMail Notifierは自分が使っているGoogle Appsで使えなかった。
結局、Gmail Checkerに落ち着きそう。

Gmail Checkerは機能的には過不足なくいい感じだけど、ステータスバーのアイコンをクリックした時の動きはGmail Notifierが一番良かった。
メール件数はfaviconで見えるから、あと欲しいのはデスクトップ通知なのです。

2011年2月8日火曜日

YUI2と YUI3の CSSの比較

ついにGoogle Libraries APIがYUI3系の配信を開始した。
YUI 2 CSS ToolsからYUI 3 CSS Resourcesへ乗り換えるための準備として、変更されている点を洗いだしてみた。
(追記:比較したのは、YUI 2.8.2r1と YUI 3.3.0。)


fonts.css

変更なし


grids.css

根本的に変わったので、小手先の変更による対応は無理。
ただしclass名のプリフィクスも変わった(2はyui、3はyui3)ので、2と3は共存できる。


reset.css

buttonのmargin、paddingのリセットがなくなった。

button {
    margin: 0;
    padding: 0;
}



削除

delとinsのtext-decorationのリセットがなくなった。
del, ins {
    text-decoration: none;
}


削除

supとsubのvertical-alignが変わった。
sup {
    vertical-align: baseline;
    ↓
    vertical-align:text-top;
}
sub {
    vertical-align: baseline;
    ↓
    vertical-align:text-bottom;
}

button、optgroup、optionのfontのinheritがなくなった。
また、input、textare、selectのfont-styleのinheritがなくなった。
input, button, textarea, select, optgroup, option {
    font-family: inherit;
    font-size: inherit;
    font-style: inherit;
    font-weight: inherit;
}
button {
    *font-size: 100%; /* IEでリサイズ可能にするためだったらしい */
}



input, textarea, select {
    font-family:inherit;
    font-size:inherit;
    font-weight:inherit;
}

base.css

bodyのmarginが削除された。(余計なお世話だったので朗報だ。)
body {
    margin:10px;
}



削除

optgroup、del、sup、subのリセットされていたstyleの上書きが削除された。
reset.cssの方から削除されたので、baseで上書きする必要がなくなったらからだろう。
optgroup {
    font-weight:normal;
}
del {
    text-decoration: line-through;
}
sup {
    vertical-align: super;
}
sub {
    vertical-align: sub;
}



削除

クリック系のform要素の1pxのpadding(Opera対策らしい)が削除された。
button, input[type="checkbox"], input[type="radio"], input[type="reset"], input[type="submit"] {
    padding:1px;
}



削除

テキストボックス系のwidthが追加された。
これでテキストボックスのフォントをメイリオにしたときビヨーンと広がる問題が解消される。
input[type=text], input[type=password], textarea{
    width: 12.25em;
    *width: 11.9em;
}


こうして見ると、grids.css以外は大きな変更は少ないようだ。
del, ins, sup, subなんかはあまり使っていないだろうし。buttonが好きな人には影響あるのかな?
base.cssでbodyのmarginがなくなったのは影響があるかもしれないが、これもそのまま使っているサイトは少ないと思う。


(2011/2/9 追記)
base.cssのinput[type=text]とinput[type=password]の追加は影響する場合あり。属性セレクタより弱いセレクタで横幅を指定しているページでは、このbase.cssのスタイルに負けちゃうように変わっちゃうから。

2011年2月4日金曜日

PHPの requireや includeの戻り値

PHPのrequire, include, require_once, include_onceは、通常のfunctionと同じように戻り値を取得できる。
いろいろな場合の戻り値の変わり方について調べてみた。



呼び出された側(test.php)で何もreturnしなかった場合
(require, include, require_once, include_onceの4つとも同じ結果)

var_dump(require_once('test.php')); // => int(1)
[test.php]

<?php
//何もreturnしない
何も返さないと1になる。



呼び出された側(test.php)で文字列"TEST"をreturnした場合
(require, include, require_once, include_onceの4つとも同じ結果)
var_dump(require_once('test.php')); // => string(4) "TEST"
[test.php]

<?php
return 'TEST';
何かをreturnすれば、呼び出し側ではその値を取得できる。



呼び出された側(test.php)で値を指定せずにreturnした場合
(require, include, require_once, include_onceの4つとも同じ結果)
var_dump(require_once('test.php')); // => NULL
[test.php]

<?php
return;
値を指定せずにreturnした場合、呼び出し側にはNULLが返される。



呼び出すファイルが存在しない場合
(include, include_onceの場合)
var_dump(include_once('not_found.php')); // => bool(false)
include, include_onceの場合はWarningは出るが処理は続行し、falseを返す。
require, require_onceの場合はWarningの後にFatal errorが発生し、処理が止まってしまうので戻り値は返らない。



呼び出すファイルが既に読み込み済みの場合
require('test.php'); // ここで既に読み込んでいると…

var_dump(include_once('test.php')); // => bool(true)
var_dump(require_once('test.php')); // => bool(true)
var_dump(include('test.php')); // => int(1)
var_dump(require('test.php')); // => int(1)
once系はtrueを返す。非once系は既に読み込んでいるかどうかでは動きは変わらない。



感想
分かり辛い動きではあるので、(フレームワーク等を作る場合でなければ)あまり多用しない方がいいと思う。


参考:include - PHP 5.3 日本語マニュアル

2011年2月2日水曜日

Web form用入力ヘルパー JavaScriptライブラリいろいろ


Webページのformの入力を楽にしてくれるヘルパーJavaScriptツールのメモ。


郵便番号から住所を取得


(日本郵政はもうあきらめるとして、)ヤマト運輸あたりが郵便番号⇔住所変換APIを公開したら拍手喝采されそうなのに。

ライブラリじゃなければこんなのもある → floatingdays: 郵便番号検索APIのまとめ



都道府県を選択

jsmapは面白いけど、業務用として使うならjqselectableの方が一覧性があって使いやすい(選び易い)と思う。



日付を選択

Datepickerってプロフィール入力とかでよくある誕生日の入力には向かないので、年無しの月日だけの入力補助ってないのかな?

あと昔まとめたのはこちら → floatingdays: JavaScriptでページ上にカレンダーをポップアップ表示するライブラリのリンク集



(2011/3/18 追加)
ひらがな・カタカナ変換

ブログ アーカイブ

tags