Kawa.netブログ(川崎有亮)

アクセスカウンタ

help リーダーに追加 RSS [Apollo] WebKit を搭載した Apollo は少し Safari と動作が違うみたい

<<   作成日時 : 2007/04/08 17:45   >>

トラックバック 1 / コメント 0

Adobe のプロダクトマネージャ Mike Chambers さんの記事 『Why Apollo?』 より
The HTML engine used within Apollo is the open source WebKit engine. This is the engine behind a number of browsers, including KHTML on KDE and Safari on Mac OS X.
Adobe のクロスプラットホーム対応デスクトップ・アプリケーション実行環境 Apollo は、
FLASH だけでなくて WebKit(≒Safari、KHTML)ベースのウェブブラウザ機能を搭載している。

『Apollo 登場!もう Safari の確認用に Mac 買わなくてよくね?』 の通り、ついに Windows 内で
Safari の動作確認ができるのかも! と思ったけど、Apollo と現行 Safari は少し違うみたい。

Safari で XHR を使う場合、サーバ側が出力する Content-Type ヘッダで charset=UTF-8 を
指定していないと、responseText で得られるテキストのエンコーディングが Latin-1 扱いになり、
UTF-8 なテキストファイルで文字化けが発生してしまう問題がある。
回避策は 『Safari の responseText で UTF-8 コード文字化け回避』 に書いたコード
function recover_utf8 (text) {
    if ( navigator.appVersion.indexOf('KHTML') > -1 ) {
        var esc = escape(text);
        if ( esc.indexOf('%u') < 0 && esc.indexOf('%') > -1 ) {
            text = decodeURIComponent(esc);
        }
    }
    return text;
}
のような関数を通すと Latin-1⇒UTF-8 変換できて、文字化けを回避できる。

しかし、Scout ではこの文字化けが発生していなかった。
responseText をデフォルトで UTF-8 扱いするように変わっている模様。

Scout (Apollo 1.0α) で表示した場合:

Mozilla/5.0 (Windows; U; en) AppleWebKit/420+ (KHTML, like Gecko) Safari/419.3 Apollo/1.0.Alpha1

Safari で表示した場合:

Mozilla/5.0 (Macintosh; U; PPC Mac OS X; ja-jp) AppleWebKit/419 (KHTML, like Gecko) Safari/419.3

『文字化け対策なし』の行が、Safari でのみ文字化けしているのがポイント。
Safari だと文字化けしていたものが Apollo で文字化けしなくなったのは、
WebKit 419→420+ の違いなのか、あるいは Apollo の独自仕様なのかは不明。
420+ のためだとすると、Safari も次のバージョンでは直るのかな?

また、『Safari ブラウザ・クラッシャー』 のコードは、AppleWebKit/419 な Safari を
クラッシュさせるのだけど、AppleWebKit/420+ な Apollo はクラッシュしない。
他にもいろいろ違いがあるのかもしれない。

結論:Apollo は単純には Safari の動作確認には使えなそう。(残念)



(2007/04/09:追記)

WebKit Nightly Builds で表示した場合:

Mozilla/5.0 (Macintosh; U; PPC Mac OS X; ja-jp) AppleWebKit/522+ (KHTML, like Gecko) Safari/419.3

最新版 WebKit を試してみると、文字化けしなくなっていた! クラッシュもしない。
恐らく Apollo は最新版に近い動作なんですね。現行の公式 Safari は少し古いまま?

設定テーマ

関連テーマ 一覧

月別リンク

トラックバック(1件)

タイトル (本文) ブログ名/日時
ページ確認のための Safari は不要?
Apollo が搭載している Webkit を使ったブラウザちっくなアプリを作ってしまえば,もう Safari いらないかも,などと何かの作業中にふと思ってみました. (詳しくは 先人方の記事 を参照.... ...続きを見る
岩家ぶろぐ
2007/04/29 05:10

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文

EDGE Now!