
iPhone OS 3.0になり、MobileSafariのエンジンにも開発者向けにいくつかの機能が追加されています。
Appleは、過去iPhone 2.1ではSafariにフルスクリーンモードを追加するなど、AppStore向けのネイティブアプリだけではなくWebアプリに対してもサポートを強化してきました。
※フルスクリーンモードに対応したページをWebクリップすると、(いちいちSafariを起動することなく)アプリのようにWebアプリを起動することが出来るというものです。
参考)iPhoneWebアプリで、フルスクリーンモードを設定する方法
ネイティブアプリであるAppStoreの成功が目に付くiPhoneですが、しっかりとWebアプリ向けの機能強化を行っているあたりがAppleの油断できないところです。
今回追加されたのも、ある特定機能だけではなく、薄く広い範囲で追加を行っているようです。
Geolocation API
まず何よりGeolocation APIがWebアプリに開放されたことは大きな変化でしょう。
このGPS情報取得はネイティブアプリにしか開放されていなかったものですが、今回の追加でWebアプリでも活用できることになりました。
すでにFlickrでは「付近の写真を探す(Photos taken nearby)」機能が実装されています。また、天気予報サイトなどもごく簡単にこれを生かすことが出来るでしょう。
※また、例えばメモ帳的なアプリでもこの位置情報を活かすことが可能であり、「ある位置でメモした内容をその位置に戻ると思い出す」というような工夫なども可能になるでしょう。
基本的にはJavaScriptで次のように記述すれば位置情報や高さ情報、3G Sにおいては方角などの情報が取得できるようになります。
navigator.geolocation.watchPosition(successCallback, errorCallback);
利用方法の詳細はWikiに書きましたのでご興味のある方は参照してください。
スプラッシュスクリーン
ゲームなどで起動準備が完了するまでの間に画像を表示し、ロゴや簡単な使用法を表示する手法が採られることがよくあります。
今回、Webアプリでも起動時にスプラッシュ画像を表示することが出来るようになりました。ちょうど、2.0で追加されたWebクリップアイコンと同じようにHTMLのheadエリアに記述するだけという簡単な機能になっています。
指定は、次のように書くだけです。
<link rel=”apple-touch-startup-image” href=”/startup.png”>
サイズは(ステータスバーを除いた)320 x 460となっていて、もちろんファイル名指定(startup.png)を変更することも可能です。
コピペの抑制
3.0からコピー&ペーストが追加されたわけですが、さすがにJavaScript等によるコントロールはできないようです。※セキュリティ上、仕方ないですね。
その代わりといってはなんですが抑制する機能が追加されたようです。
ついに追加されたコピペですが、少し使っているとわかりますが意図しない時に起動されては操作性が落ちる場面もあるわけです。
そんな時に、かつての「右クリック禁止!」ではないですが、コピペダイアログの表示を行わない設定が可能になっています。
記述は、次の要領でCSS指定として行います。
-webkit-user-select : none;
noneだと全禁止で、autoだとデフォルト状態、textだとテキストだけが選択できる状態となるようです。
他のCSS指定
ほかにもCSSが増えています。
-webkit-gradient: グラデーション描画の指定
-webkit-box-reflect: Appleお得意の鏡面反射指定です。※2.0laterとなっていますが、2.0時代は出来なかったように思うのですが。。
-webkit-mask-*: イメージのほかにマスクイメージも指定することで、描画範囲を限定する方法です。
なおAppleからドキュメントがリリースされていますので、ご興味のある方は探してみるといいでしょう。



Comments are closed.