HTML5 iPhone рдРрдк рдЯреЗрдЯреНрд░рд┐рд╕

рдпрджрд┐ рдЖрдк iPhone рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЖрдк C рдбреЗрд╡рд▓рдкрд░ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдЬреНрдЮрд╛рди рд╕реЗрдЯ рдореЗрдВ рдЕрднреА рднреА HTML (5), CSS рдФрд░ JavaScript рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рддреЛ рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ Tetris рдЧреЗрдо рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ iPhone HTML5 рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдпрд╛ рдЬрд╛рдПред

рдпрд╣ рдЖрд╡реЗрджрди, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ рдЖрдЗрдХрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдСрдлрд╝рд▓рд╛рдЗрди рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдЕрд░реНрдерд╛рддред рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдмрд┐рдирд╛ рдФрд░ рдиреАрдЪреЗ рджреА рдЧрдИ рдЫрд╡рд┐ рдХреА рддрд░рд╣ рдХреБрдЫ рджреЗрдЦреЗрдВ:



рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЕрднреА рднреА рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреИрд╢ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЦреБрдж iPhone рд╕реЗрдЯ рдХрд░реЗрдВ: Settings.app> Safari> рдбреЗрд╡рд▓рдкрд░, рдбрд┐рдмрдЧ рдХрдВрд╕реЛрд▓ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВред

рдЖрдЗрдП рдПрдХ рдЖрдЗрдХрди 57x57 рдФрд░ рд╕реНрд╡рд╛рдЧрдд рд╕реНрдХреНрд░реАрди 320x460 рдХреА рдПрдХ рддрд╕реНрд╡реАрд░ рдмрдирд╛рддреЗ рд╣реИрдВред рд╡реЗ рдкреАрдПрдирдЬреА рдпрд╛ рдЬреЗрдкреАрдЬреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред


рдПрдЪрдЯреАрдПрдордПрд▓

рд╣рдорд╛рд░рд╛ index.html

<! DOCTYPE HTML> <html manifest='tetris.manifest'> <head> <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0"/> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <link rel="apple-touch-icon" href="icon.png"/> <link rel="apple-touch-startup-image" href="startup.png" /> <link rel="stylesheet" href="tetris.css" type="text/css" media="screen, mobile" title="main" charset="utf-8"> <title>  </ TITLE> </ HEAD> <body> <! -     -> <script type="text/javascript" src="tetris.js"> </ SCRIPT> </ BODY> </ HTML> 


рдХреГрдкрдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ:

DOCTYPE рдореЗрдВ рд╣рдо HTML рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди HTML5 рдирд╣реАрдВ;
рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ = "cache.manifest", рдРрдкреНрдкрд▓-рдореЛрдмрд╛рдЗрд▓-рд╡реЗрдм-рдРрдк-рд╕рдХреНрд╖рдо - рдпрд╣ рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╣реИ;
рдРрдкреНрдкрд▓-рдореЛрдмрд╛рдЗрд▓-рд╡реЗрдм-рдРрдк-рд╕реНрдЯреЗрдЯрд╕-рдмрд╛рд░-рд╕реНрдЯрд╛рдЗрд▓ - рдпрд╣ рд╕реНрдЯреЗрдЯрд╕ рдмрд╛рд░ рдФрд░ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдмрд╛рд░ рдХреЛ рдЫреБрдкрд╛рддрд╛ рд╣реИ;
рдРрдкреНрдкрд▓-рдЯрдЪ-рдЖрдЗрдХрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрдЗрдХрди рдХреА рдЫрд╡рд┐ рдХрд╛ рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИ;
рдРрдкреНрдкрд▓-рдЯрдЪ-рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк-рдЗрдореЗрдЬ - рдпрд╣ рдПрдХ рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рд╕реНрдХреНрд░реАрди рдЗрдореЗрдЬ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред

рдкреНрд░рдХрдЯ

Tetris.manifest рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

CACHE MANIFEST

# рд╕рдВрд╕реНрдХрд░рдг 3

tetris.css
index.html
tetris.js

# рдСрдлрд╝рд▓рд╛рдЗрди рдЖрдЗрдХрди
icon.png
startup.png

рд╕реАрдПрд╕рдПрд╕

body { overflow:hidden;
background: #d7d7d7;
margin:0;
padding:0;
}
#tetris {
width: 320px;
height: 460px;
background:#000;
}


рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рд╕реНрдХреНрд░рд┐рдкреНрдЯ https://github.com/daltonridenhour/DOM-Tetris рд╕реЗ рд▓реА рдЧрдИ рдереАред
рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдмрд┐рдирд╛ рдХреАрдмреЛрд░реНрдб рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдбреЛрдкрд┐рд▓рди рдерд╛ред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред

Teteris рдХреЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ:
http://tetris.alexkessinger.net/


рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ (рд▓реЛрдХрд▓рд╕реНрдЯреЛрд░реЗрдЬ рдпрд╛ рд╡реЗрдмрдбреЗрдЯрд╛рдмреЗрд╕) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреЗрдо рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд▓рд┐рдВрдХ

Http://dev.w3.org/html5/spec/offline.html рдкрд░ рдХреИрд╢рд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рд╕рдлрд╛рд░реА рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ http://developer.apple.com/library/safari/navigation/
IPhone рдШрдЯрдирд╛ рд▓реЗрдЦ
http://www.quirksmode.org/blog/archives/2008/08/iphone_events.html
рд╡реЗрдмрджрд╛рдмреЗрд╕ рдкреНрд░рд▓реЗрдЦрди http://dev.w3.org/html5/webdatabase/

рдореВрд▓ рдзрдиреНрдпрд╡рд╛рдж рд▓рдВрдмреЗ рдЦреЛ рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

Source: https://habr.com/ru/post/In111291/


All Articles