Ajaxで今よみがえる(^^;;-->[クロスブラウザ技術 ]DHTMLサンプル集
古籏一浩さんとのはじめての共著 発売中-->『Ajax実践テクニック』 古籏一浩/高橋 登史朗 (著)秀和システム
配本予約開始-->『入門Ajax 増補改訂版 』 高橋 登史朗 (著)ソフトバンククリエイティブ ; ISBN: 4797336242
【カテゴリー】 ActionScript ( 6 ) AIR ( 2 ) AjaSQL ( 10 ) Ajax ( 575 ) Arax ( 1 ) canvas ( 10 ) CSS ( 11 ) ( 5 ) DLNA ( 1 ) Dojo ( 17 ) DOM ( 45 ) ES4 ( 4 ) Ext JS ( 2 ) 反重力物質 ( 1 ) ffAdd-on ( 1 ) Flash ( 46 ) Flash Remoting ( 11 ) FTP ( 2 ) GAF ( 9 ) Google Maps ( 119 ) GPS ( 42 ) HTTPヘッダサンプル ( 9 ) Internet ( 1 ) iPhone ( 33 ) IPv6 ( 1 ) 漫画 ( 1 ) Java ( 45 ) JavaScript ( 265 ) jKamo ( 8 ) jQchart ( 2 ) jQuery ( 112 ) jquery-ref ( 1 ) jsGadget ( 19 ) jslb_ ( 3 ) jslb_ajax ( 9 ) JSON ( 47 ) JSR223 ( 7 ) kjscmd ( 1 ) KNOPPIX ( 1 ) Linux ( 16 ) Mac ( 8 ) Memo ( 3 ) Microformats ( 2 ) Mini AJAX ( 2 ) MochiKit ( 2 ) mootools ( 3 ) Movable Type ( 57 ) MySQL ( 10 ) NewGameWeb ( 2 ) Nucleus ( 8 ) OpenAJAX ( 3 ) OpenDocument ( 1 ) OS ( 7 ) P2P ( 2 ) Perl ( 7 ) PHP ( 37 ) PostGIS ( 1 ) PostgreSQL ( 4 ) prototype.js ( 22 ) ROBOT ( 1 ) RSSリーダー ( 14 ) Ruby on Rails ( 7 ) Spry ( 6 ) SQLite ( 16 ) SQLiteWorker ( 2 ) ssh ( 1 ) SSI ( 2 ) SVG ( 15 ) TRON ( 1 ) Ubiquity ( 1 ) Video ( 1 ) VML ( 1 ) Web Slice ( 1 ) Webサービス ( 99 ) widget ( 6 ) Wii ( 1 ) Wiki ( 1 ) Win ( 6 ) WSH ( 1 ) X01HT ( 29 ) XML ( 30 ) XOOPS ( 1 ) XQuery ( 2 ) XUL ( 4 ) Yahoo! UI ( 65 ) 日付入力用カレンダー ( 1 ) 『Ajax実践テクニック』 ( 1 ) 『入門 Ajax』 ( 42 ) WinTips ( 2 ) こりゃすごい ( 4 ) チューニング ( 22 ) ダイナミックロード関数 ( 7 ) リファレンス ( 18 ) ライブラリ ( 115 ) レーダー雨量表示 ( 1 ) ハード ( 23 ) ペンギン ( 2 ) ブラウザ ( 74 ) ブログでBBS ( 1 ) アクセスグラフ ( 3 ) イベント ( 2 ) カレンダーによる日付入力スクリプト ( 4 ) クロスブラウザ ( 11 ) クロスブラウザ関数 ( 7 ) スマートフォン ( 8 ) セキュリティ ( 114 ) ソフトイーサ ( 1 ) マッシュアップ ( 23 ) 暗号 ( 4 ) 映画 ( 47 ) 河川の水位グラフ ( 3 ) 回線 ( 2 ) 開発ツール ( 26 ) 牛久大仏 ( 9 ) 携帯 ( 138 ) 言語 ( 18 ) 故障 ( 3 ) 洪水警報システム ( 2 ) 今日のひと言 ( 5 ) 仕様 ( 60 ) 雑談 ( 232 ) 実装 ( 1 ) 書籍 ( 17 ) 親子ウインドウ有無の確認関数 ( 3 ) 新海誠 ( 3 )
【info】有料サポート(ベータ)限定 承り中 多忙につき、一時、新規受付停止 閉店中 /【JSサポート(仮称)】 

【info】いつもいろいろなテストなどをページ内のあちこちでやっているので、重かったり、壊れていたりするf^^;ことも多いです。実験用ですので、カオス(混沌)をあえて意図したりもしますので、標準やValidとは無縁だったりしますが、何卒、ご了承ください ( _ _ b

【iPhone このページ内へのリンク】
【iPhone】Yahoo! Search for the iPhone
【iPhone】iPhone 3G でパケット通信を WiFi に制限する方法 & iPhone Device Configuration
【iPhone】SBが1万円キャッシュバックしてくれるというので、iPhoneではそのサイトへアクセスできないのはとりあえず気にせず、うきうき、しながら157へかけても、かけても、混んでいてつながらない(悲;
【iphone】iPhoneの隠しコマンド
【iPhone】アップル、「OpenClip」を無効へ
【iPhone】iPhone用SSHアプリ2点+VAN経由VNCでSSH技1点
【iPhone】統合メモ無料ソフト YouNote
【iPhone】iPhoneでコピペ
【iPhone】iRa 指でつまんで監視カメラの画像をズームイン/ズームアウト
【iPhone】Hackathonコンテスト勝者
【iPhone】iPhoneでGreaseMonkey
【iPhone】iPhone 3G と Google カレンダーを自動プッシュで同期 NuevaSync
【iPhone】Mocha Telnet Lite
【iPhone】オンライン状態の検出
Allabout更新 iPhone 3G用のWebページを作る3
【iPhone】iPhone用 JavaScriptデータベースプログラミング入門 (6)
【iPhone】iPhone用 JavaScriptデータベースプログラミング入門 (5)
【iPhone】iPhone用 JavaScriptデータベースプログラミング入門 (4)
【iPhone】iPhone用 JavaScriptデータベースプログラミング入門 (3)
【iPhone】iPhone用 JavaScriptデータベースプログラミング入門 (目次)
【iPhone】iPhone用 JavaScriptデータベースプログラミング入門 (2)
【iPhone】iPhone用 JavaScriptデータベースプログラミング入門 (1)
【iPhone】これは携帯ではない
【iPhone】VNC for iPhone
Allabout更新 iPhone 3G用のWebページを作る2
【iPhone】iPhoneの連絡先を赤外線通信の代わりに2次元バーコード(QRコード)へ変換
【iPhone】カーナビとしてのiPhone
【ハード】iPhone 3Gの寸法
【JavaScript】マイノリティレポート風iPhone マルチタッチイベント
【JavaScript】iPhoneでSQLデータベースストレージが使える
【開発ツール】iPhone用デバッグコンソール
【携帯】iPhone用Webコンテンツを作るためのリンクリスト
【iPhone】iPhone 3G のユーザーエージェントとリクエストヘッダ

[ iPhone ]

2008年08月31日

【iPhone】Yahoo! Search for the iPhone

Yahoo! UI 】 , iPhone 】 , ライブラリ ブックマークに追加する ブックマーク-- Buzzurl  / Hatena  / Livedoor track feed


Yahoo! Search for the iPhone
http://search.yahoo.com/i

Optimizing Yahoo! Search for the iPhone
http://yuiblog.com/blog/2008/08/28/ysearch-for-iphone/

YUIによるインクリメントサーチになっています。かなりがんばって最適化したらしいです。このあたりの姿勢はYahoo!の良さかなぁ。

投稿者 tato : 03:26

【iPhone】iPhone 3G でパケット通信を WiFi に制限する方法 & iPhone Device Configuration

iPhone ブックマークに追加する ブックマーク-- Buzzurl  / Hatena  / Livedoor track feed


iPhone 3G でパケット通信を WiFi に制限する方法
http://www.vitae.jp/malkuth/no/2173

Internet AccessをWiFiに制限(iPhone 3G)
http://members.at.infoseek.co.jp/MACFreak/index.html

この記事によるとCellular Internet AccessをDisableにする方法はthe APN(Access Point Name) in iPhone 2.0を変更することです。

ところがこれを実行するにはiPhone企業先にのみ提供されるiPhone Configuration Utilityで目的に沿ったconfiguration profileを作成することが必要になるとのことです。

この記事ではこのToolを使わないで、Cellular Internet Accessを"Null"にするProfileのInstall方法が紹介されています。それは、このProfile をMailに添付して自分宛にMailし、添付FileをClickすることによりiPhone 3GにInstallします。

もとに戻すのは、Settings -> General -> Profileを選択して削除しiPhoneをRebootすることで可能と説明されています。

iPhone 2.0: How to Disable Cellular Internet Access
http://brent.kearneys.ca/sysadmin/2008/iphone-20-how-to-disable-cellular-internet-access/

#これでヘビーユーザーは、月2500円ほど節約できて、ソフトバンクは3G回線の渋滞のリスクを回避できるかも?

#うーむ、こんなXMLファイル(apn-disabler.mobileconfig)でいろいろ設定できるわけかぁ。

参考: iPhone Device Configuration Overview

iPhone Configuration Utility 1.0 for Mac OS X
http://www.apple.com/support/downloads/iphoneconfigurationutility10formacosx.html
iPhone Configuration Web Utility 1.0 for Mac
http://www.apple.com/support/downloads/iphoneconfigurationwebutility10formac.html
iPhone Configuration Web Utility 1.0 for Windows
http://www.apple.com/support/downloads/iphoneconfigurationwebutility10forwindows.html

iPhone iPod touchエンタープライズ配備ガイド

iPhone 3Gでユーザー証明書を利用してみる
http://iphone.ipsec.jp/content/enterprise/

投稿者 tato : 01:39

2008年08月27日

【iPhone】SBが1万円キャッシュバックしてくれるというので、iPhoneではそのサイトへアクセスできないのはとりあえず気にせず、うきうき、しながら157へかけても、かけても、混んでいてつながらない(悲;

iPhone ブックマークに追加する ブックマーク-- Buzzurl  / Hatena  / Livedoor track feed


iPhoneに機種変更した特典で1万円キャッシャバックしてくれるというSMSがソフトバンクから届いたので、小躍りして、振込口座入力のURLに行こうと思ったら、例によってXシリーズとiPhoneは、そのURLへはアクセスできないので「お客様センター」へ連絡してね、とのこと。

ま、1万円もらえるならそれくらいの労は厭いません、きっぱり。

ということで「157」へかけたら、混雑してるのでまたきてね、のアナウンス。iPhoneな人いっせいにかけてるのでは^^?

うう、宙ぶらりん。

そろそろXシリーズ用のカスタマサービスサイトをしっかり構築するべきではないですか?>SoftBank様
まぁ、気長に待ちますけど、でも、そろそろ、、、。

投稿者 tato : 16:26

2008年08月26日

【iphone】iPhoneの隠しコマンド

iPhone ブックマークに追加する ブックマーク-- Buzzurl  / Hatena  / Livedoor track feed


iPhoneの隠しコマンドでField Testへ
http://applembp.blogspot.com/2008/08/iphone_26.html

自己責任で、電話で下のように入れ発信
*3001#12345#*

投稿者 tato : 17:06

【iPhone】アップル、「OpenClip」を無効へ

iPhone ブックマークに追加する ブックマーク-- Buzzurl  / Hatena  / Livedoor track feed


アップル、iPhoneのコピー&ペースト機能実装を目指した「OpenClip」を無効へ
http://builder.japan.zdnet.com/news/story/0,3800079086,20379267,00.htm

ありゃりゃ。でも、これはつまり作ってるということかな?

投稿者 tato : 11:35

2008年08月19日

【iPhone】iPhone用SSHアプリ2点+VAN経由VNCでSSH技1点

iPhone ブックマークに追加する ブックマーク-- Buzzurl  / Hatena  / Livedoor track feed


iSSH
http://www.zinger-soft.com/iSSH_features.html
iSSHフォーラム
http://groups.google.com/group/issh

SSH
http://www.throughput.biz/

そのうち無料のが出そうな気はしますが、iSSHが600円、SSHが450円ということで、まぁ高くは無いので、サーバー管理者としては買っておいて良いかも。と、思ってフォーラムのあるiSSHを買ってみましたが、字が小さすぎてつらい。

iSSHで目が痛くなるなぁ、、、の図

先日試した、PPTPで接続してVNCからPCのSSHを使うやりかたの方が高機能で良いかなぁ、、、。ただだし。
【iPhone】VNC for iPhone

iPhoneからVAN経由VNCで開いたWindowsデスクトップ上でSSHクライアントを使うの図

==
追記 2008.8.25

高機能でまともなSSHが出ました。350円の価値はありそう。

TouchTerm
http://www.jbrink.net/touchterm/support.html

投稿者 tato : 19:56

2008年08月11日

【iPhone】統合メモ無料ソフト YouNote

iPhone ブックマークに追加する ブックマーク-- Buzzurl  / Hatena  / Livedoor track feed


YouNote
http://www.sophiacom.fr/pages/iphone-us/younote-overview.html

手書きメモと音声メモと画像メモとテキストメモとWebメモとGPSメモが統合された便利なソフトを入れてみました。これが無料は少し驚き。<って、有料のをまだ入れてないから比較できないですけど(^^;。





    古籏一浩 ( 2008年08月11日 21:30 )

    Evernoteとかも入れてありますけど、Evernoteはiphoneなくしてもデータはサーバーにあるので、安心かな〜というのはあります。

    高橋 ( 2008年08月12日 00:09 )

    これですね
    http://www.evernote.com/

    入れてみました。Webと連携するタイプですね。面白いです。

    通信できないときにiPhone側のストレージを使うようになっていないらしい?のは少し惜しいですけど、カレンダーもそうですが、Webと連携するタイプは、入力を補完もできるので便利になりますね。


    【コメント】(←clickで入力欄open)
投稿者 tato : 04:00

2008年08月10日

【iPhone】iPhoneでコピペ

iPhone ブックマークに追加する ブックマーク-- Buzzurl  / Hatena  / Livedoor track feed


iPhoneでコピー&ペースト

iPhoneは、あの先進的なタッチ操作を実現するために、コピー&ペースト機能が犠牲になっています。つまり、コピペできません。でも、これで↓できる?

Copy and paset on the iPhone revealed
http://www.viddler.com/explore/mager/videos/36/

iPhone Copy/Paste
http://zacwhite.com/blog/?p=141

[ Google Code ] touchclipboard
http://code.google.com/p/touchclipboard/
TouchClipboard allows third party apps to share a global clipboard on the iPhone



    古籏一浩 ( 2008年08月10日 07:50 )

    iPhone Copy/Paste購入してみました。(MagicPad)
    選択がダブルタップなので、ちょっとした慣れが必要かも。
    コピーペースト時のキーボードもボタンタップではないので、これもちょっと選択しにくいf(^^;
    もっとも致命的なのは日本語入力で、濁点などが入らないってことかも。だ、とか、ぱが入らないんですよ。


    高橋 ( 2008年08月10日 16:32 )

    そうですか。でも、この問題意識は広く共有されていると思いますので、きっと、いつか答えが見つかると思います。

    そんなに難しくなさそうに思えますけれど、ユーザーインターフェイスなのでアップル側でやってくれるのが本当は一番良い気がします。

    古籏一浩 ( 2008年08月10日 16:43 )

    難しくないようでいて、どうやって選択させるのか、が難しいのかもしれません。
    MagicPadのようにダブルタップで、となるとダブルタップで拡大縮小するのを使っているアプリではNGでしょう。ドラッグすると画面全体が動くので、これもNG。
    トリプルタップとかウルトラタップという手もあるけど、誰かがいい答えを出してくれるのをAppleが待っているのかもf(^^;

    高橋 ( 2008年08月10日 17:37 )

    どういうインターフェイスだとスマートに、かつ既存イベントに干渉せずに、割り込めるかという人間工学デザインみたいなところかなぁ。

    せっかくいろいろなセンサーがついているので、タップ&一振りとか(^^;;、、、でもそういうのは、早くしないとアプリがたくさんできてしまってからでは使えない。<それより、一振りでは誤動作しそう^^;。


    【コメント】(←clickで入力欄open)
投稿者 tato : 02:04

【iPhone】iRa 指でつまんで監視カメラの画像をズームイン/ズームアウト

iPhone 】 , セキュリティ ブックマークに追加する ブックマーク-- Buzzurl  / Hatena  / Livedoor track feed


iRa
http://lextechlabs.com/ira
機械翻訳 :: iRaはiPhoneまたはiPodタッチで複数の生のビデオフィードと直接のカメラPTZ(パンして、傾いて、疾走してください)支配の権限をあなたの手の掌に入れます。WiFiがある場合はいつでも、iRaの直観的なタッチスクリーンインターフェースは状況による認識を移動セキュリティチームに提供します。
iRa iPhoneのピンチオープン(つまんで開く)/ピンチオープン(つまんで開く)動作で、監視カメラの画像をズームイン/ズームアウトしてます。
投稿者 tato : 00:02

2008年08月09日

【iPhone】Hackathonコンテスト勝者

iPhone ブックマークに追加する ブックマーク-- Buzzurl  / Hatena  / Livedoor track feed


PhoneDevCamp 2
Hackathonコンテスト勝者
Dominic Sagolla | August 8th, 2008 at 16:24 | 6 Comments
http://www.iphonedevcamp.org/2008/08/08/hackathon-contest-winners/
Yahoo!翻訳

投稿者 tato : 23:35

【iPhone】iPhoneでGreaseMonkey

iPhone ブックマークに追加する ブックマーク-- Buzzurl  / Hatena  / Livedoor track feed


GreasePocket Blog
http://greasepocket.wordpress.com/2008/08/04/greasepocket/

Demo
https://s3.amazonaws.com/greasepocket/GreasePocketDemo.mov
Googleの検索フィールドにHello World!表示と、GMailに著名ボタンを追加するデモ。

投稿者 tato : 23:26

2008年08月08日

【iPhone】iPhone 3G と Google カレンダーを自動プッシュで同期 NuevaSync

iPhone ブックマークに追加する ブックマーク-- Buzzurl  / Hatena  / Livedoor track feed


iPhone 3G と Google カレンダーを自動プッシュで同期する NuevaSync
http://yamashita.dyndns.org/blog/iphone-google-calendar-nuevasync/

#欲しかった機能があっさり実現!Googleカレンダーに書いたとたんにiPhoneカレンダーに反映されるし、iPhoneカレンダーに書いても即Googleカレンダーへ反映されます。有線でつなぐ必要も無いし、手動の同期作業もいらない、どこに居ても一瞬で自動同期!超便利。

投稿者 tato : 00:11

2008年08月07日

【iPhone】Mocha Telnet Lite

iPhone ブックマークに追加する ブックマーク-- Buzzurl  / Hatena  / Livedoor track feed


Mocha Telnet Lite
Category: Business
First release: 3 August
Version 1.0
0.5 MB
無料

TN5250 for iPhone and iPod
http://mochasoft.dk/iphone_telnet_screens.htm

iTunes Store
http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=286893976&mt=8

# SSHでないのは残念ですが、何かの時には使えるかな。port22にすると一応SSH2の画面にはなるんですけど機能制限しているのかなぁ。

# ちなみにこのMochaSoftという会社のシリーズはなかなか良くて、こないだ入れた VNC もここのソフトです。なんと、IBM AS/400と接続する5250エミューレータもあります! こりゃすごい。 PPTPで接続してSQL使えるわけですね。誰か使った人いるかな?

投稿者 tato : 03:26

2008年08月02日

【iPhone】オンライン状態の検出

iPhone ブックマークに追加する ブックマーク-- Buzzurl  / Hatena  / Livedoor track feed


少し大枠で脱線しつつ、、、

iPhone SafariのDatabase実装に限らず、W3C HTML5仕様にみられるローカルストレージやGoogle Gearsなどが指し示す近未来は、Webアプリケーションをオフライン状態でもサクサク使おうとするものです。

offlineをWebと呼んでいいのか、あるいは、これこそがWebのNext Extendなのかといった、歴史が決める分野の議論は横に置いて、とりあえず、W3CのHTML5やら Offline Web Applicationsを読めないなりに読んでみます。

ぼんやりと、眺めてみたところでは、やがてtext/cache-manifestや<event-source src="server.cgi">といった記述を利用することで自動化されていくのかもしれません。<わかりませんけれど。<あるいは、ローカルキャッシュしても良いよという宣言だけかもしれません。<HTML 5のクライアント側SQLデータベースでそれをたくわえるという書き方なので、たぶん実装はWeb製作者になる気がします。<詳細は自分で調べてね。

で、やっぱりこれらの多くも、まだ絵に書いた状態なので(笑; 地に足をつけて、現状使えるものについて確認します。

なにはともあれ、すでにiPhoneという世界では、すでに現実となった、ローカルのSQLデータベースは、DBについては、もう「どっちがクライアントやねん革命」と言っても良いくらいのインパクトがあり、使わずにはいられません(笑)。

ということで、回りくどかったですがf^^;、もとい、ローカルストレージへいろいろ蓄えてオフラインの間使いましょうという話ですが、、、

この作業に入るためには、まず、オンライン状態の検出が肝心です。

でもまだ、iPhone Safariには、online/offlineイベントは実装されていないようにみえます。

そうすると、自力で実装するしかないので、少し試してみました。今のところ候補は2つです。
  • 1. ひとつは、iPhoneのローカルストレージは、セイムドメインの檻の中で動作しますので、ちょうど、AjaxのXMLHTTPRequestを使えるかな?と。リクエストメソッドをHEADにして、HTMLボディは受け取らず、statusで判断すると軽くてよいかも?という考え方。
  • 2. 同じくどうせ、セイムドメインなら、ドメインのtopディレクトリなどに、online.gif のような、小さなIMGオブジェクトを置いておき、これを確認に使う。IMG Elementには、ここで使ってくださいとばかりに、onload/onerrorが大昔から実装されていますので楽ちん。

他にも候補はいくつかありますが、良さそうな方法があったら教えてください。試してみたいと思います。

  次の作業のための一里塚として。 夜の部へ つづく、、、

さて、5年ほど前に書いた記事で「JavaScript Tips ネットワーク編 サーバーの接続をチェックする」というシリーズがありましたが、あの時は、Imageオブジェクトと.jsファイルによるコールバックを使って、回線切れを検出するといういろいろなパターンを試しました。

そういえば、あの.jsファイルによるコールバックとタイムアウトというのもImageのonerrorよりもコントロールが効いて良い候補といえるかもしれません。

で、XHRのメリットは、HTTPステータスコードを取得できるので、本当にBODYが必要ではない4xx代や3xx代を無視して200のみonlineというか、ダウンロード対象と判定できたり、レスポンスヘッダ情報を受け取れるので、Content-LenghやLast-Modifideなどを利用できたりすることかもしれないです。

そう考えてXHRと対比してみると、Imageや.jsコールバックのメリットはむしろドメインの壁を越える部分にあるかもしれません。

とりあえず、たとえばHEADでソナー打ってみるパターンだと、こんな感じとか。

http://jsgt.org/a/offlinechkr/onlineChker.sonar1.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" 
 "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd">
<html>
<head>
<title>iPhone onlineChker Tests</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="content-script-type" content="text/javascript">
<meta http-equiv="content-style-type" content="text/css">
<meta name="viewport" content="width=device-width; initial-scale=1.0;">

<script type="text/javascript">

var onlineChker={
  
  //online mode crossbrowser true/false 
  onLine : (function(){
    return (typeof navigator.onLine=='boolean')?navigator.onLine:true;
  })(),     
  //now online? true/false
  nowOnline : false,     
  //default HTTP method
  method : "HEAD",
  //XHR object
  that   : null,

  //XHR
  sonar : function(){    
    var xoj =onlineChker.that= new XMLHttpRequest();
    xoj.onreadystatechange =function () {
      if ( xoj.readyState == 4 ) { 
        if ( xoj.status == 200) {
          onlineChker.nowOnline = true; 
        } else if ( xoj.status == 0) {
          onlineChker.nowOnline = false; 
        }
        //onLineを実装していないSafari用
        if(typeof navigator.onLine!='boolean')onlineChker.setOnOffline(xoj);
        onlineChker.callback( xoj );
      }
    }
    xoj.open(onlineChker.method,location.href); //The 1st time method is HEAD.
    xoj.send("");
  },

  //callback from readyState == 4
  callback :function(xoj){

    if(onlineChker.method=="HEAD"){
      if(!onlineChker.onLine){
        //get from DB
        onlineChker.loadLocalDB() //load from local DB
      } else {
        if(!onlineChker.nowOnline)
            onlineChker.loadLocalDB() //load from local DB
            //get from network
        else  onlineChker.saveLocalDB();//save to local DB
      }
    } 
  },

  //
  setOnOffline : function(xoj){  
    var msg ="このURLは、現在 " + xoj.status +" "+xoj.statusText +"です。\n"
        +"\nオンライン作業(OK)\nオフライン作業(キャンセル)";
    return onlineChker.onLine=confirm(msg) ;
  },

  //Offline work
  loadLocalDB : function(){
    //ここへオフライン作業を書きます
    onlineChker.massegDialog(' Offline work here. ');
  },

  //Online work
  saveLocalDB : function(xoj){
    //ここへオンライン作業を書きます
    onlineChker.massegDialog(' Online work here. ');
  },

  //masseg
  massegDialog : function(str){
    var msg ='オンライン作業モードか?(onlineChker.onLine) : '
        + onlineChker.onLine +"\n\n"
        +'今、オンラインか?(onlineChker.nowOnline)  : '
        + onlineChker.nowOnline  +"\n\n\n"
        +'  '
        + str
    alert(msg)
  }
}

</script>

<body>
<button onclick="onlineChker.sonar()">online check</button>

</body>
</html>


上のコードは、下記のような動作です。 ( 実際に使うときは、メッセージのダイアログは出しませんけど確認のために出してます。)

まず、offlineにします。
下のようなメッセージが出ますが無視します。
まず、機内モードでオフライン時、statusは0になります。「OK」を押してオンライン作業モードを選んでも、オフラインなので右の画像のとおり、オフライン作業になります。
次に、「キャンセル」を押してオフライン作業モードを選ぶと 右画像のようになります。まぁ、どうせ、電波入ってこないので、オフライン作業しかできません。
機内モードをキャンセルしてアクセスすると、成功すればstatusは200になります。 「OK」を押してオンライン作業モードを選ぶと 右の設定になります。
次に、電波はつながっていても、「キャンセル」を押してオフライン作業モードを選ぶと 右の画像のとおりオフライン作業になります。
オンライン状態でもサーバーファイルを削除してみると404になりますが、このコードでは、それを次のように処置(サーバーに読みにいっても意味が無いのでoffline扱い)します。え?404 OK ^^? statusText間違ってる^^;。


参考:上記の data URLスキーム
onlineChker
投稿者 tato : 08:44

2008年08月01日

Allabout更新 iPhone 3G用のWebページを作る3

iPhone ブックマークに追加する ブックマーク-- Buzzurl  / Hatena  / Livedoor track feed