【戯れ言】FirefoxにSkype extension適用で画面の更新がおかしくなる件

nowprintingpostやセッション等で値を持ち回すことで同一のURLに遷移するようなタイプのサイトで、Firefoxにて画面が更新されない不具合に悩まされていました。

例えばtwitterでログアウト後、再ログインを試みると、ちっともログインされていないように見え、ctrl + F5で強制更新させるとちゃんとログインされている、といった具合です。
他の例では、三井住友銀行の管理ページなんかもっと酷く、ログインしても他の画面に遷移せず、全く操作できません。フォーム入力に部分は強制更新でも通ることできず、しかもそれを繰り返していると「不正アクセス」と見なされるようです。

セーフモードで初期化を試みたり、プロファイル作り直し、再インストール、ダウングレードなどあらゆる手段を尽くしましたが、現象は変わらず。でも、昔はちゃんと動いていたのです。本当に解せません。

今までは、Firefox本体で、何かしらの挙動で設定情報が狂う、もしくはキャッシュがおかしくなったりして、画面が更新されなくなる、とばかり思っていたのですが、もう少し範囲を広げて試行錯誤した結果、なんと意外な結末!
実は、Skypeをインストールすると自動でインストールされる、Skype extensionが悪さをしていました。これが有効化されていると、99%この不具合が出ることが判明!
Skype extensionは何をしているのかというと、もし電話番号等がページ内に書かれていると、スカイプで通話するボタンに書き換える、というもの。おそらく、この書き換え処理部分で何らかの不具合があるのでしょう。私はSkypeで通話はしませんから、ためらわず無効にしました。

もし同様の不都合に悩まされている方も、Skypeがインストールされている場合は間違いなくこれかと。一度確認してみてください。

【戯れ言】Firefox3.5は確かに速いぞ!

nowprintingつい気まぐれで、先ほどFirefox3.5にアップグレードしてみました。
以前よりページがさくさく動く感じがします。
JavaScriptの高速化はかなり効いている気がします。

現在インストールしているアドオン…とりわけFireMobileSimuratorが動かなくなってしまうと困るなと思っていましたが、それも問題なさそうです。FireBugやSQLite Managerも大丈夫っぽい(SQLiteの方はアップデートが入り、connect listが消えてしまったのは残念ですが)。

基本的にそれほど機能が変わっているようには思えないのですが、最近もっさり動くようになってきた感のあったものが解消されたように思えるので、その点に関してだけ言えばインストールの意義はありました。あとは不具合なく動いてくれることを祈ります。

【戯れ言】IE8を一言で言えば「腐ってやがる…早すぎたんだ」

nowprintingえ~、いままでかなりIE8を擁護してきたんですが、やっぱり止めることにしました(^^;。

正直言いまして、IE8の最大の難点は「安定していない」ことです。
とにかくハングアップと硬直が多すぎる… 個人的にネットブラウジングしている程度ならまだ良いのですが、仕事では危なくて使えないです。Fiewfoxもたまにありますが、頻度を比べたら桁違いです。
復元機能こそありますが、デバッグ中にこれをやられると非常に困る…
こちらが悪いのかブラウザが悪いのか、検証に時間がかかってしまうので。

そして不具合が発生し、かつハングアップに至らない場合はメモリ内でゾンビ化します。クローズボタンで閉じても、デスクトップ(というかGDIなのかもしれませんが)に居座り続け、画面を埋めます。そして最悪な場合、CPUパワーを食い始め、放置しておくとレスポンスが限りなく遅くなり、最終的にはリセット以外の道が無くなる場合も…

それ以外には特に不満はないです。まあそりゃアドオンが簡単に作れて公開できるのなら言うことはありませんが、まあそれはまだ我慢できる範囲。十分に高速ですし、スタイルシートの崩れについても最小限というのか、だいぶ同じになってきた。Firefoxの不満点であるダウンロードやMIME関連の挙動についてはIEはないため、正直安定しているのならIEを使いたい… と思っていた矢先なので、大変に落胆しているというかまぁ…

というわけで、一言で言えば、あの某ナウシカなあの台詞が思い浮かぶわけです。
ブラウザは安定性命ですよ。特にIEは。

【戯れ言】IE8をインストールしました

nowprintingIE8が正式リリースされたので、初日に早速インストールしました。
今のところ問題なく使えているようです。

IE7からIE8のバージョンアップは、一般的には結構メリットがありそうです。
まず、FireFoxとレイアウトが結構近くなり、フォントが桁あふれで改行されてしまっていたものも概ねFireFoxと同じ表示になったりで、良い感じです。
また、起動時間がかなり高速なのは言うまでもありませんが、描画も早くなった印象。早さだけならFireFoxにする意味は全くなくなりました。

少しおかしな挙動をする点もありましたが(例えば戻るを連打すると表示が変になった)、欠点は少なく、一般的な使用なら「Microsoftブランドが嫌い」という理由でなければ、IE8はオススメです。

IE8に足りないもの…やっぱり「プラグイン」でしょうね。
FireFoxにはこの「追加できる機能」が大変に有用ですから、使ったらなかなか戻れないです。
逆に、FireFoxは「使い続けるとどんどん起動が遅くなる」点さえ解決してくれれば…
いくらSQLiteを最適化しても、一向に改善しないので、この点は不便です。

あ、あとはIE7と比べてUTF-8でのデバッグがやりにくくなったかも。
「ソースを表示」でコピーしテキストエディタに持ってくると文字コードが化けてしまうようです。

【プログラミング関連】FirefoxでUTF-8以外が文字化けする原因(の1つ)

prog-logo最近、仕事で携帯サイトを作っていて、CakePHPを用いて製作しているのですが、ShiftJISでコーディングしているのですがなぜかFirefox「だけ」文字エンコーディングがUTF-8に強制的にされてしまうことで悩んでいました。

まあこの現象は前から認識していて、例えばたまたま以前にCakePHPフォーラムで返答したことのある こんな 話題がはてブの新着に上がってきているんですが、結局このときは良く分からないままそのままになってしまっていたんですよね。
今回のこの件も、別にPCから見れる訳ではないので気にしなくても良い問題なのですが、とはいえ何だかあまり気持ちが良くないので、少し調べてみることにしました。

とにかくおかしいのは、いくら内部エンコーディングがShiftJISになっていても、header()で書き込んでも、何をしてもUTF-8にされてしまう点です。IE、Safari(iPhone)、実機携帯(今回はSoftbank920Pをメインにチェックしてます)では問題がないのです。
そしてさらに不思議なのは、ページによってこの現象が出る所と出ないところがある点。トップページは出ないのですが、例えば画像だけしか表示しないようなページだと、ナビ用のテキスト(「戻る」とか)が化けます。当然絵文字コードも化けます(あ、携帯ライブラリ を通せば化けません)。

いろいろなものをとっかえひっかえしてみたのですが、なんと意外な事実が判明!
まあタネを知ってしまえば「な~んだ!」「つ~かしっかりやれよ」と言われそうなのですが、こんな落とし穴があったとは……

ShiftJISの場合、皆さんはどのようなcharset文字列を入れていますでしょうか?
「SjiftJIS」? 「Shift-JIS」? 「Shift_JIS」? それとも「SJIS」?
そうなんです、Firefoxは、このcharset文字列がかなり厳密で、「Shift-JIS」もしくは「Shift_JIS」でないとNGらしいのです。

私はPHPマニュアルでmb_???系の解説で「sjis」と記されているので、ずっとsjisと書いていたのですが、これが引っかかっていたようです。

分かりにくいのは、sjisと書いても文字化けにならないことがあり(というか今までならなかった場合が圧倒的に多かった)、これについては原因は特定できていないのですが、一番最初の文字列だとか、頻度だとか、そういった要因で自動判別に引っかかり、「たまたま」文字化けが起きていなかっただけなのかもしれません。とにかく、「ShiftJIS」「SJIS」はNGなのです。
というのも、こちら の仕様でもしっかり「Shift_JIS」と書かれていて、これが正式のようです。なので、本来「Shift_JIS」と書くべきなのでしょう。まあだいぶShiftJISで書く機会は減ってきていると思いますが、携帯サイトなどではまだまだ現役でしょうから、気をつけた方が良いですね。
ちなみに他のブラウザは寛大で、「ShiftJIS」「SJIS」は認識します。内部でしっかりとエイリアスされているのかもしれません。

まだ他に文字化けの理由はあるのかもしれませんが、心当たりのある方はとりあえずチェックされてみてはいかがでしょうか?

【戯れ言】ようやく使えるようになったかも「InternetExplorer8 RC1」

Windows7ベータ版に続き、IE8もRC1版を試しています。

正直、ベータ版はさんざんでした。
動作が不安定で、いつまでも待たされることがあり、処理も不安定だった…
IE7に戻しても良かったのですが、戻したことで不具合が発生したら困ると思い、FireFox3を入れてしまいました。

で、RC1なのですが…
不具合に関しては直っているみたいで、なかなか良い感じで使えています。
もともとのIEシリーズの長所である「起動が速い」のはそのままで、ブラウジング中の処理スピードもかなり上がっていて、FireFoxに負けません。デフォルトフォントがMSゴシックのためにギザついているため、FireFoxと比較するとチープな感じがしますが、これはメイリオに変更すれば同じような見栄えになります(もっとも、私はMSゴシックの方がシャープに見えるので好きですが)。

気になった不都合は、当ブログを開くと「Archives」以降のセクションがかなり遅れて表示されるので、おそらくHTML解析で引っかかっている部分があるのではないかと思います。当方が悪い可能性もありますが、FireFoxやIE7、Safariでは普通に処理されているため、IE8固有の問題ではないかとは思うのですが…

とりあえず普通に使っても問題なさそうなので、ベータ版を敬遠していた方には試せるチャンスです。
ただし、IE8を適用してからXPsp3を適用するとIE8がアンインストールできなくなる問題があるようですので、まずはXPをsp3にしてからにした方が良いと思います。

ブラウザとしての基本機能は、これで差が無くなったと思われます。
ただ、FireFoxはユーザに提供されているアドオンの仕組みが大変に便利なので、この辺はMSも見習って欲しいと思います。