iPhoneã®Safari対å¿ã«ã¤ãã¦
Safari対å¿ãµã¤ããä½ã£ãéã«ãã¾ã調ã¹ã¦ããªãã£ãã®ã§ãã¡ãã£ã¨èª¿ã¹ã¦ã¿ã¾ãããOS 3.0ãã使ããæ©è½ãå¢ãã¦ãã¦ãç°¡åãªã¢ããªãªããã¤ãã£ãã¢ããªä½ããªãã¦ãå®ç¾ã§ãã¾ãããé¸æè¢ãå¢ããã®ã¯è¯ããã¨ã§ãã
ãã©ã¦ã¶ã®ä»æ§
Webæ¨æºæè¡ã使ããã®ã§ãPCãµã¤ãéçºã®å»¶é·ã§ä½ããã
ãã©ã¦ã¶äºæãªã©ã¯æ°ã«ããªãã¦è¯ãã®ã§ãHTML5+CSS3ã§ä½ãããã®ãããã
å¶é
ãªã½ã¼ã¹ã®å¶é
- ãã³ã¼ãå¾ã®GIF, PNG, TIFF 2MBã¾ã§
- ãã³ã¼ãå¾ã®JPEG 32MB
- ã¢ãã¡ã¼ã·ã§ã³GIF 2MBã¾ã§
- Canvas è¦ç´ 2MB
- ãã®ä»ãªã½ã¼ã¹ãã¡ã¤ã«ã¯ãããã10MBã¾ã§
ãã®ä»å¶é
- cookieãµãã¼ã
- Flash, Javaã¢ãã¬ãã,
SVG(ãµãã¼ãããã¦ããããã§ã), XSLTã¯éãµãã¼ã - ãµã¼ããã¼ãã£ã¼è£½ã®ãã©ã°ã¤ã³ã¯éãµãã¼ã
- JavaScriptå®è¡æé 10ç§ã¾ã§ (iPhone OS 1.1.4ã¾ã§ã¯5ç§ï¼
- ãã¦ã¹ãªã¼ãã¼ã¨ããæ¦å¿µããªã
- ãã¡ã¤ã«ã¢ãããã¼ãããã¦ã³ãã¼ãä¸å¯
- ã«ã¹ã¿ã X.509é»å証ææ¸ä½¿ããªã
Webæ¨æºæè¡ã使ã
- HTML 4.01
- XHTML 1.0
- CSS 2.1 and partial CSS3
- ECMAScript3 (JavaScript)
- DOM Level2
- AJAX technologies, including XMLHTTPRequest
次ä¸ä»£Webæ¨æºæè¡ã使ãã
Viewport
æç»ã¨ãªã¢ã®è¨å®ãæä½éãã®è¨å®ã追å ããã ãã§ãiPhone Safariã«å¯¾å¿ããããã«è¦ããã
æ¤ç´¢ãã¼ã¨ã¹ãã¼ã¿ã¹ãã¼ãé¤ãã解å度ã¯
- 縦ã®å ´å 320Ã356
- 横ã®å ´å 480Ã208
<meta name = "viewport" content = "width = device-width">
ããã§èªåçã«320pxã«åã¾ãã
viewportãæå®ããªãå ´å㯠width = 980px ã«è¨å®ãããã
UAã®å¤å®
UserAgentã®ä¾ã
iPhone/iPod Touchã®å¤å®ãSafariã®ãã¼ã¸ã§ã³ãåå¾ã§ããã
Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/XXXXX Safari/525.20
Detecting WebKit with JavaScriptãå©ç¨ãã㨠WebKitDetect.isMobile(); ã§å¤å®ã§ããããã§ãã
CSSé¢é£
CSS3ã®Media Queryãå©ç¨ã§ããã®ã§ãiPhoneã®ã¿é©å¿ããCSSãè¨å®å¯è½ã
<!-- for iPhone --> <link media="only screen and (max-device-width: 480px)" href="small-device.css" type= "text/css" rel="stylesheet"> <!-- for the others --> <link media="screen and (min-device-width: 481px)" href="not-small-device.css" type="text/css" rel="stylesheet">
å
è¡å®è£
ããã¦ããCSS3ã®ããããã£ãã¢ããã«ã®æ¡å¼µãå©ç¨ã§ãã¦ãã¢ãã¡ã¼ã·ã§ã³ãCSSã ãã§å®ç¾ã§ããã-webkit- ã¨ãããã¬ãã£ãã¯ã¹ãã¤ãã¦ãããã®ãããã
-webkit-border-image | ç»åã§ãã¼ãã¼ã©ã¤ã³ãå¼ã |
-webkit-border-radius | è§ä¸¸ã®è¨å® |
-webkit-text-size-adjust | ãã©ã³ããµã¤ãºãããã«è¨ãã£ã¦ããã |
-webkit-tap-highilght-color | ã¿ããæã®ãã¤ã©ã¤ã |
-webkit-transform | 移åãæ¡å¤§ç¸®å°ãå転 |
ãªã©ãªã©
JavaScripté¢é£
å人çã«ä¸çªé©ããã®ã¯GPSã®ç¶ç¶æ¸¬ä½ãã§ããã¨ããã
iã¢ããªã¯ãã©ã¹ãããã¢ããªã§ãã使ããªãã®ã«ã
ã¤ãã³ã
ã¿ããé¢é£
- touchstart
- touchend
- touchmove
- touchcancel
ã¸ã§ã¹ãã£ã¼é¢é£
- gesturestart
- gesturechange
- gestureend
ããã¤ã¹é¢é£
- orientationchange
ãã¼ã«ã«ã¹ãã¬ã¼ã¸
JavaScript database APIçµç±ã§SQLiteã®å©ç¨ããHTML5ã®ã¢ããªã±ã¼ã·ã§ã³ãã£ãã·ã¥ãå©ç¨å¯è½ãGearsã¿ãããªæãã§ãªãã©ã¤ã³ã§ãå¿«é©ã«å©ç¨ã§ããã¢ããªãä½ããã
GPS
JavaScriptã§ç¾å¨å°æ¸¬ä½ãç¶ç¶æ¸¬ä½ãå¯è½ãï¼iPhoneOS3.0ããï¼
W3Cã®Geolocation APIã«æºæ ã¨ã®ãã¨ã
Debugging
Safariã®è¨å®ã§ãDebug Consoleãæå¹ã«ããã°ä½¿ãã
<script> console.log("My log message goes here."); console.warn("My warning message goes here."); console.error("My error message goes here."); console.info("My information message goes here."); </script>
Webã¢ããªã±ã¼ã·ã§ã³ç¨ã®è¨å®
ç»é¢é·ç§»ã®ãªãWebãµã¤ãã§ããã°ããã¤ãã£ãã¢ããªã®ããã«ã¢ã¯ã»ã¹ãã¦ããããã¨ãåºæ¥ããå¾è¿°ã®jQTouchãè¯ãæãã«å¯¾å¿ãã¦ããã
ãã«ã¹ã¯ãªã¼ã³ã¢ã¼ã
ãã¼ã ç»é¢ããèµ·åããå ´åã«ãä¸é¨ã®æ¤ç´¢ãã¼ãé表示ã«ãªãã
<meta name="apple-mobile-web-app-capable" content="yes" />
ãã¼ã ã¢ã¤ã³ã³
57Ã57ã®pngã§ãè§ä¸¸ã®ã¨ãã§ã¯ãã¯èªåã§ããã¦ãããã
<link rel="apple-touch-icon" href="/custom_icon.png"/>
èµ·åç»é¢
iPhoneOS3.0ããã¯ãã¤ãã£ãã¢ããªã®ããã«èµ·åç¨ã®ç»åãè¨å®å¯è½ã
ãµã¤ãºã¯ 320Ã460ã
<link rel="apple-touch-startup-image" href="/startup.png">
ã¹ãã¼ã¿ã¹ãã¼ã®æ¦è¦³
ãã«ã¹ã¯ãªã¼ã³ã¢ã¼ãã®éã«è²ãå¤æ´å¯è½ã
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
ã©ã¤ãã©ãª
WebKitã®CSSãå ¨ãç¥ããªãã¦ããã©ã¤ãã©ãªãå©ç¨ããã°ä½ã¨ããªãã¾ãã
UniversaliPhone UIKit | HTMLã¨CSSã®ã¿ã§æ§æãããã©ã¤ãã©ãª |
iui | JavaScriptã§ã¹ã©ã¤ãã¢ãã¡ã¼ã·ã§ã³ãªã©ãå®è£ ããã¦ãã |
iWebKit | Themeãè±å¯ã§è²ã ãªã«ã©ã¼ã«å¤æ´ã§ãã |
jQTouch | iPhoneéçºã«ç¹åããjQueryãã©ã°ã¤ã³ |
å ¬å¼ããã¥ã¡ã³ã
ç»é²ãå¿ è¦ã§ãããå ¨ã¦ããã«è¨è¼ããã¦ãã¾ãã