digital matter
このサイトをご覧のInternet Explorer 6 ユーザーの皆様へ
総閲覧者数中 10.72% (2010/07/18現在)

‘iPhone’ タグのついている投稿

SafariのkCFErrorDomainCFNetwork error 303.

iPhone用のWebサイトを作っていてSafariで発生した
Operation could not be completed. (kCFErrorDomainCFNetwork error 303.)
というエラー。

ページを読み込む途中で上記のエラーで止まってしまうので悩んでいたのですが、Proxyが問題でした。

というか、サーバがTransfer-Encoding: chunkedで送信してきた場合に、Proxyの挙動が仕様と異なる場合に起こるようです。TCPコネクションの問題かな…?

Transfer-Encoding: chunkedになるのは主にサーバからPHPとかで動的にページ書き出す場合ですね。

サーバ側でContent-Lengthを返すようにするか、Proxyを外すかってところですかね。

Fiddler使う際には注意。

iPhoneのSafariでtouchendイベントを使うときの注意

iPhone用のドラッグアンドドロップで操作できるWebアプリを作っていて、うっかりはまったtouchendの挙動についてのメモ。

最初に書いたコードはこんな感じでした。

function touchhandler(e) {
    var x = e.touches[0].pageX;
    switch (e.type) {
        case 'touchstart':
            break;
        case 'touchmove':
            break;
        case 'touchend':
            break;
    }
}

document.getElementById('sample').addEventListener("touchend", touchhandler, false);

このプログラムではtouchendの処理が実行されません。

というのもまぁ、気づけば簡単なことなんですが、最後の指をスクリーンから離してtouchendのイベントが発生するときは、もうスクリーンに触ってないのでe.touches[0]がundefinedになるんですね…

なので、touchendのときは、引数で受け取ったe.touchesは注意しましょうという話。

今回参考にさせていただいたのは以下のサイト。

flashcast:フリーで働くITエンジニア集団のブログ: ipod touch用のWeb Applicationを作成してみる(canvasでお絵かき編)

SitePen

Web開発参考サイト – iPhone 3G DevWiki