рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рддрд░реАрдХрд╛ рд╣реИред рдЖрдк рдПрдХ рд╕рд╛рдЗрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрд░реАрдХреЗ рд╕реЗ рдкреИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╡реЛрдЗрд▓рд╛, рдпрд╣рд╛рдБ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрд╡реЗрджрди рд╣реИ!
рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣рдореЗрдВ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЖрд░реНрдерд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдпрддрд╛ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред рд╡рд╣ рдЪреЗрд╣рд░реЗ рдкрд░ рд╣реИред рд╣рд╛рдВ, рдЖрдкрдХреЛ рдФрд╕рдд рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдпрд╣ рдПрдХ рд╕рд╛рдЗрдЯ рд╣реИ! рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ! рдпрд╣ рд╡рд╣реА HTML рд╣реИ, рдпрд╣ рд╡рд╣реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реИ, рд╡рд╣реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо "рджреЗрд╢реА" рдХрд╣рддреЗ рд╣реИрдВ, рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдвреВрдВрдврдирд╛ рдЙрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдФрд░ рдпрджрд┐ рдЖрдк рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкреНрд░рдХреГрддрд┐ рд╕реЗ рдЧреБрдгрд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рд░рд╛рдордмрд╛рдг рднреА рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рд╣рдо рд╕рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдИ рднреА "рдЧреЛрд▓реА" рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рд╣реИ
рдЗрд╕рд▓рд┐рдП, рдореЗрд░рд╛ рдХрд╛рд░реНрдп рдХрд╛рд░реНрдп рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдерд╛: рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВред рдЖрд╡реЗрджрди рдПрдХ рдЦреЗрд▓ рд╣реИред рдХреНрд╡реЗрд╕реНрдЯред рдЦреЗрд▓ рдХрд╛ рд╕рд╛рд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ: рдРрд╕реЗ рд▓реЛрдЧреЛрдВ рдХрд╛ рд╕рдореВрд╣ рдЬреЛ рджрд┐рд▓рдЪрд╕реНрдк рд░реВрдк рд╕реЗ рдЖрд░рд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрдиреНрд╣реЗрдВ рдЯреАрдореЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЯреАрдо рдХреЛ рдПрдХ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЦреЛрд▓реЗрдВред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рд╢реНрди рд╡рд╣рд╛рдВ рд╕реЗ рдЖрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдЯреАрдо рдХреЗ рд▓рд┐рдП рд╡реЗ рдЕрд▓рдЧ рд╣реИрдВред рдкреНрд░рд╢реНрди рдЙрддреНрддрд░ рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рддрд░рд╣ рд▓рдЧ рд╕рдХрддреЗ рд╣реИрдВ, рдареАрдХ рд╣реИ, рдХрд╣рддреЗ рд╣реИрдВ, рд╕реЗрдВрдЯ рдкреАрдЯрд░реНрд╕рдмрд░реНрдЧ рд╢рд╣рд░ рдХрд┐рддрдирд╛ рдкреБрд░рд╛рдирд╛ рд╣реИ? рдФрд░ рд╕реНрдерд╛рди рдкреНрд░рд╢реНрдиред рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдорд╣рд▓ рдХреЗ рдореБрдЦреНрдп рджреНрд╡рд╛рд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВред рдЯреАрдо рдЪрд▓рддреА рд╣реИ, рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреА рд╣реИ, рд╣рдо рдЬрдЧрд╣ рдореЗрдВ рд╣реИрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред рд╕рд░реНрд╡рд░ рд╕реЗ рдЙрддреНрддрд░ рд╕рд╣реА рд╣реИ рдпрд╛ рдирд╣реАрдВред рдлреЛрдЯреЛрдЧреНрд░рд╛рдлреА рдХреЗ рднреА рд╕рд╡рд╛рд▓ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдорд╣рд▓ рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЦреБрдж рдХреА рддрд╕реНрд╡реАрд░ рд▓реЗрдВред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рд╕рднреА рдЙрддреНрддрд░реЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЯреАрдореЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЬреАрддрддрд╛ рд╣реИ, рдЕрдзрд┐рдХ рдЕрдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╕рдм рдХреБрдЫред
рдЪрд░рдг 1 - рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХрд╛рд░реНрдп рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╕рдВрджрд░реНрдн рдХреА рд╢рд░реНрддреЗрдВ рдкрд╣рд▓реЗ рд╣реА рддреИрдпрд╛рд░ рдХреА рдЬрд╛ рдЪреБрдХреА рд╣реИрдВред рдФрд░ рдХреНрдпрд╛? рд╣рдореЗрдВ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдБ рд╡реЗ рд╣реИрдВ:

рдЪрд░рдг 2 - рд▓реЗрдЖрдЙрдЯ
рдЕрдЧрд▓рд╛ рдХрджрдоред рдЖрдкрдХреЛ рдЙрдирд╕реЗ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИред

рдЪрд░рдг 3 - рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рдЪреБрдиреЗрдВ
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЙрдирдореЗрдВ рд╕реЗ рджреЛ рд╣реИрдВ:
1. рд╕реНрдиреЗрд╣рд╛ рд╕реНрдкрд░реНрд╢
http://www.sencha.com/products/touch
2. Jquerymobile
http://jquerymobile.com/
рд╕реНрдиреЗрд╣рд╛ рдЯрдЪ рд▓реЗрдВред рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдХреНрд╕рдЯреАрдЬреЗрдПрд╕ рдХреЗ рд╕рдорд╛рди рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрдХреНрд╖рд╛рдПрдВред рд╣рдо рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ - рд╣рдореЗрдВ рдЖрд╡реЗрджрди рдорд┐рд▓рддрд╛ рд╣реИред HTML рддрддреНрд╡реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ, рд▓реЗрдХрд┐рди рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реНрддрд░ рдкрд░ рддрддреНрд╡реЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ рдмреЗрд╣рдж рдирд╛рд╕рдордЭреА рд╣реИред рдореЛрдЯреЗ рддреМрд░ рдкрд░, рддрддреНрд╡реЛрдВ рдХреЗ рдорд╛рдирдХ рджреГрд╢реНрдп рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрджрд▓рдирд╛ рдмреЗрд╣рдж рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рд▓реЗрдХрд┐рди JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рд░реНрд╡рд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдПрдХ рдЦреБрд╢реА рд╣реИред
рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред Jquerymobile рддрддреНрд╡реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ, рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ jquery рджреНрд╡рд╛рд░рд╛ рдмрдврд╝рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рддрддреНрд╡реЛрдВ рдореЗрдВ рдЯреИрдЧ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВред рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрди рдЯреИрдЧ рдХреЗ рд▓рд┐рдП рд░реВрдкрд░реЗрдЦрд╛ рд╢реИрд▓рд┐рдпреЛрдВ рдФрд░ рдЕрдиреНрдп рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рддрддреНрд╡реЛрдВ рдХреЛ рдкреВрд░рдХ рдХрд░рддреА рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рд╕рд░реНрд╡рд░ рд╕реЗ JSON рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рджреЛрд╕реНрдд рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реБрдЖред Jquerymobile рд╕рд░реНрд╡рд░ рд╕реЗ HTML рдХреЛрдб рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдЖрдк JSON рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдореЗрдВ html рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Sencha рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдврд╛рдВрдЪреЗ рдХреА рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЬрд╛рддрд╛ рд╣реИред рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рд▓ рдХрд░рдирд╛ рдмреЗрд╣рдж рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
рдмрдВрдж рдХрд░реЛред рд╣рдореЗрдВ рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдкрд╣рд▓рд╛ рдХреНрдпрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рдХреНрдпрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдмреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдЗрд╕рд▓рд┐рдП рддреИрдпрд╛рд░ рддрддреНрд╡ рдЖрдзрд╛рд░, рд░реЗрдбреА-рдореЗрдб рд╕рдорд╛рдзрд╛рди, рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЖрдкрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рд╕рд╛рдЗрдЯ) рдХреЛ рдиреЗрддреНрд░рд╣реАрди рдПрдХ рдореВрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рдорд╛рди рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдирд╛ рд╣реИред рдХреНрдпрд╛ рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдирд╣реАрдВред PhoneGap рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдФрд░ рд╡рд╣ рдХреНрдпрд╛ рд╣реИ, рд╡рд╣ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВред рддреЛ рдареАрдХ рд╣реИ, рдЪрд▓реЛ рдмрд╕ рдПрдХ рдирд┐рдпрдорд┐рдд рд╕рд╛рдЗрдЯ рдХреА рддрд░рд╣ рдЖрд╡реЗрджрди рдХрд░реЗрдВ рдФрд░ рдЕрдВрдд рд╕реЗ рдирд┐рдкрдЯреЗрдВ!
рдЪрд░рдг 4 - рд▓реЗрдЖрдЙрдЯ
рд▓реЗрдЖрдЙрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдпрдВ рдорд╛рдирдХ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВ, рдФрд░ рдЪрд▓реЛ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреА рдкрд╣рд▓реА рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рдореЗрдЯрд╛ рдЯреИрдЧ рд╣реИрдВред
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
Html рдХреЛрдб рдХреЗ рд╣реЗрдбрд░ рдореЗрдВ рдЗрд╕ рд▓рд╛рдЗрди рдХреЗ рдмрд┐рдирд╛, рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рдирд┐рдпрдорд┐рдд рд╕рд╛рдЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╕реЗ рдЬрд╝реВрдо рдХрд░реЗрдЧрд╛, рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреЛрдИ рдпрдерд╛рд░реНрдерд╡рд╛рдж рдирд╣реАрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдбреЗрд╕реНрдХрдЯреЙрдк рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдмреНрд░рд╛рдЙрдЬрд╝рд░ (рд╢рд╛рдпрдж рд╕рднреА рдирд╣реАрдВ) рдЙрди рддрддреНрд╡реЛрдВ рдХреЛ рдПрдХ рдлреНрд░реЗрдо рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬрд┐рди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдПрдХ рдлреНрд░реЗрдо, рдЬрдм рдЖрдк рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ Google Chrome рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЙрд╕ рд╕рдордп рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рд╣рдо рдЕрдЧрд▓реЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдЗрд▓рд╛рдЬ рднреА рдРрд╕реЗ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
input:focus { outline: 0 none; } textarea:focus { outline: 0 none; } .Button:focus { outline: 0 none; }
рдФрд░ рдирд╡реАрдирддрдо рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИ: рдирд┐рд╢реНрдЪрд┐рддред рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИрдВред рд╕рдм рдХреБрдЫ рдореЛрдмрд╛рдЗрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдЦреБрдж рдХреЛ рдЖрд░рд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╡реЗ рдмрд╕ рд╕рдорд░реНрдерди рдпрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ, рдРрд╕реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ред рди рд╣реА рдореИрдВ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдирд┐рдпрдВрддреНрд░рдг рдХрдХреНрд╖ рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, jquerymobile, рд╕рдВрд╕реНрдХрд░рдг 1.1 рддрдХ, рдпрджрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ: рдирд┐рд╢реНрдЪрд┐рдд, рдЙрддреНрд╕рд░реНрдЬрд┐рдд рд╕реНрдХреНрд░реЙрд▓ рдФрд░ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдирд┐рд╢реНрдЪрд┐рдд рддрддреНрд╡реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рдЧрдИ, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдпрдерд╛рд░реНрдерд╡рд╛рдж рдирд╣реАрдВ рджреЗрддрд╛ рдерд╛ рдФрд░ рдХрднреА-рдХрднреА "рдиреЛ рдЖрдЗрд╕" рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рдерд╛ред
рдЗрд╕ рд▓рд┐рдВрдХ рдкрд░ рдпрд╣рд╛рдБ рдореЛрдмрд╛рдЗрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рд╡рд░реНрдгрди рд╣реИ рдЬреЛ рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ: рдлрд┐рдХреНрд╕реНрдб
bradfrostweb.com/blog/mobile/fixed-position
рдФрд░ рднреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рд╣реИрдВ рдЬреЛ рд╕реНрдерд┐рддрд┐ рдХреЗ рдХрд╛рдо рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддреЗ рд╣реИрдВ: рдлрд┐рдХреНрд╕реНрдб рдФрд░ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдХрд╛рд░реНрдп рд╕рдВрддреЛрд╖рдЬрдирдХ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореЗрд░реЗ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореЛрдмрд╛рдЗрд▓ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЛ рдПрдВрдбреНрд░реЙрдЗрдб 2.3 рдХреЗ рд░реВрдк рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдпрд╣ рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ: рдирд┐рд╢реНрдЪрд┐рдд, рд▓реЗрдХрд┐рди рдХрд╕реНрдЯрдо рдЬрд╝реВрдо рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЖрд╡реЗрджрди рдореЗрдВ рдмреЗрдХрд╛рд░ рд╣реИред рд╡реНрдпреВрдкреЛрд░реНрдЯ рд╣реЗрдбрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
рдФрд░ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ
.Header { background-color: white; background-image: none; border: none; text-shadow: none; border-bottom: white solid 3px; font-weight: bold; position: fixed; width: 100%; height: 62px; top: 0; left: 0; z-index: 100 }
рд╡рд╣ рд╕рдм рд╣реИред
рдЪрд░рдг 5 - рдПрдореБрд▓реЗрдЯрд░
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдореЙрдирд┐рдЯрд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░рдирд╛ рдФрд░ рджреЗрдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рд╕рдВрдХрд▓реНрдк Android рдЖрд╡реЗрджрди, 320x480 рдХрд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЗ рдореЙрдирд┐рдЯрд░ рдХрд╛ рд╕реНрдХреНрд░реАрди рдЖрдХрд╛рд░ рдХреНрдпрд╛ рд╣реИ? рдПрдореБрд▓реЗрдЯрд░ рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддреЗ рд╣реИрдВред рд╕рд░рд▓рддрдо рдПрдореБрд▓реЗрдЯрд░ рдЖрдкрдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ! рдпрджрд┐ рдЖрдк Google Chrome рдореЗрдВ рдкреГрд╖реНрда рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ Ctrl + Shift + I рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЖрдкрдХреЛ рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рджрд┐рдЦрд╛рдПрдЧрд╛ред рдирд┐рдЪрд▓реЗ рджрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ рдЖрдк рдЧрд┐рдпрд░ рдЖрдЗрдХрди рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдмрд╛рдж, рдУрд╡рд░рд░рд╛рдЗрдб рдЯреИрдм рдЪреБрдиреЗрдВ рдФрд░ рдпрд╣рд╛рдВ рд╡рд╣ рд╣реИ, рдЖрдкрдХрд╛ рдПрдореБрд▓реЗрдЯрд░ред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдЬреЗрдВрдЯ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдореАрдЯреНрд░рд┐рдХ рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред

рдФрд░ рдЦреБрдж PhoneGap рд╕реЗ рдПрдХ рдПрдореБрд▓реЗрдЯрд░ рд╣реИ! emulate.phonegap.com
рдЬрд┐рд╕реЗ рд░рд┐рдкрд▓ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ Google Chrome рдореЗрдВ рдкрд░рд┐рд╡рд░реНрдзрди рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рд╣реБрд░реНрд░реЗ! рд╣рдорд╛рд░реЗ рдЕрд╡рд╕рд░ рдирд╛рдЯрдХреАрдп рд░реВрдк рд╕реЗ рдмрдврд╝реЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд░реНрдбреЛрд╡рд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдлреЛрди рдХреИрдорд░рд╛ рдпрд╛ рдХрдореНрдкрд╛рд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВ, рддреЛ рд░рд┐рдкрд▓ рдЖрдкрдХреЛ рдЗрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджреЗрдЧрд╛ред
рдЦреИрд░, рдЪреВрдВрдХрд┐ рд╣рдо рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рдереЗ, рдЖрдк рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдЧреНрд░рд╣рдг рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдпрджрд┐ рдЖрдк рдлреЛрдирдЧреИрдк рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ
docs.phonegap.com/en/2.2.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android
рдпрд╣ рдПрдореБрд▓реЗрдЯрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рддрд░рд╣ рдХрд╛рдлреА рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдЬреЛ рднреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкрд╛рдИ рдЧрдИрдВ, рд╡реЗ рд╕рднреА рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдкрд╛рдИ рдЧрдИрдВред рдФрд░ рд╣рд╛рдВ, рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕ рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЗрд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдкрд╛рда рдЗрддреНрдпрд╛рджрд┐ рд▓рд┐рдЦрдирд╛ рдХрдард┐рди рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрдВрддрд┐рдо рдЪрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред рдЬрдм рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреНрдп рд╕рднреА рдкрд╣рд▓реЗ рд╕реЗ рд╕реВрдЪреАрдмрджреНрдз рдПрдореБрд▓реЗрдЯрд░реЛрдВ рдкрд░ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реЛред
рдЪрд░рдг 6 - рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ
рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рд╕рднреА рдХреЛрдб рдбрд╛рд▓рдирд╛ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд╣реИред рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд░рдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рдЫреЛрдЯреА рд╕рд╛рдЗрдЯ рдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рд╣реА рддрд░реАрдХреЗ рдФрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг, рд▓реЗрдХрд┐рди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд╡рд╣реА рдПрдорд╡реАрд╕реА, рд╡рд╣реА рдкреИрдЯрд░реНрди: рд╕рд┐рдВрдЧрд▓рдЯрди, рд▓рд┐рдВрдХрд░, рдЖрджрд┐ред
рдпрд╣рд╛рдБ рд╕рд╛рдордиреЗ рдирд┐рдпрдВрддреНрд░рдХ рд╣реИ
var App = { Init: function() { this.model = new Model(this.url); this.view = new View(); this.controller = new Controller({ model: this.model, view: this.view }); return this; }, Run: function(task, params) { if (typeof task == 'undefined') { this.controller.Login(); } else if (typeof this.controller[task] == 'undefined') { this.controller.Login(); } else { this.controller[task](params); } return this; }, Done: function() { return this; } } $(document).ready(function() { App.Init(); App.Run(); App.Done(); });
* рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреЛрдИ рдЬрд╛рджреВ рдХреЗ рддрд░реАрдХреЗ рдирд╣реАрдВ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ PHP рдореЗрдВ рд╣рдо __call рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ App.SomeSome ('<рдкреИрд░рд╛рдореАрдЯрд░>') рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ App.Run ('SomeSome', '<рдкреИрд░рд╛рдореАрдЯрд░>') рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдирд┐рдпрдВрддреНрд░рдХ рд╣реИ:
var Controller = function(params) { this.view = params.view; this.model = params.model; } Controller.prototype = { Login: function() { this.view.Login(); }, LoginSubmit: function() { var that = this, value = this.model.GetLoginFormValue(), errors = this.model.GetLoginFormErrors(); if (errors !== false) { this.view.Login(value, errors); } else { this.model.SendToServer('teamLogin', value, function(err, data) { if (!err) { that.model.SetTeam(data); that.model.ListenServer(data.lastMessageId); that.Welcome(); } else { that.view.ShowPopup('error', data) } }); } }, Welcome: function() { var that = this; this.model.GetWelcomeContent(function(err, data) { if (!err) { that.view.Welcome(data); } else { that.view.ShowPopup('error', data); } }); }
рдпрд╣рд╛рдБ рдПрдХ рдЫреЛрдЯрд╛ рдореЙрдбрд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ
var Model = function(url) { this.url = url; } Model.prototype = { GetHelpChat: function(callback) { var url = 'helpChat?team='+this.team.teamId+'&hash='+this.team.hash; this.ReciveFromServer(url, function(err, data) { if (err) { callback(true, data); } else { callback(false, data); } }); },
рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреГрд╢реНрдп рд╣реИ
var View = function() { this.page = $('.Page'); } View.prototype = { TaskIndex: function(status, time, tasks) { var num = Util.GetRndNumber(); this.Show( Html.Header( Html.IconPanel(status), Html.TimePanel(time) ), Html.Content( Html.TaskPanel(tasks) ), Html.Footer( Html.ButtonPanelBottom('task') ) ); setInterval(Timer.Total, 1000); setInterval(Timer.Current, 1000); Util.SetScrollToTop(); },
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣рд╛рдВ рд╡рд╣реА рдмрд╛рдд рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд╕рд╛рдЗрдЯ PHP рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рдереАред рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рднрд╛рд╖рд╛ рд╣реИ рдФрд░ рдмрд┐рдирд╛ рдХреЙрд▓рдмреИрдХ рдХреЗ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рдЖрдк рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ)
рдореИрдВ рдПрдХ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдХреЗ рдХреИрдорд░реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдХреЙрд░реНрдбреЛрд╡рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдлреЛрдирдЧреИрдк рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдпрд╣рд╛рдБ рдлреЛрди рдХреЗ рдХреИрдорд░реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд╡рд┐рд╡рд░рдг рдХрд╛ рд▓рд┐рдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
http://docs.phonegap.com/en/2.2.0/cordova_camera_camera.md.html#Camera
рдЬрдм рдЙрдиреНрдирдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреИрдорд░реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдЙрдирд╕реЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдЙрдореНрдореАрдж рдереАред рдФрд░ рд╡реНрдпрд░реНрде рдирд╣реАрдВред рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рдореБрдЭреЗ рд╕рд╛рдордирд╛ рдХрд░рдиреА рдкрдбрд╝реА, рд╡рд╣ рдпрд╣ рдереА рдХрд┐ рдлреЛрдЯреЛ рд▓реЗрдиреЗ рдХреЗ рдмрд╛рдж, рдХреИрдорд░рд╛ рдиреЗ рдмрд╕ рдПрдХ рдХрд╛рд▓реА рд╕реНрдХреНрд░реАрди рджрд┐рдЦрд╛рдИ рдФрд░ рд╡рд╛рдкрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рдирд╣реАрдВ рд▓реМрдЯрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдлреЛрдЯреЛ рдЙрдЪреНрдЪрддрдо рдЧреБрдгрд╡рддреНрддрд╛ рдХрд╛ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдмрдбрд╝реА рдереАред рдлреЛрди рдХреА рдХрдо рд╢рдХреНрддрд┐ рдХреЗ рдХрд╛рд░рдг, рдЗрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрд╛рдлреА рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдбреЗрдореЛ рдХреЛрдб рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдирд╛ рдерд╛
navigator.camera.getPicture(OnSuccess, OnFail, { quality: 75, allowEdit: true, targetWidth: 280, targetHeight: 280, destinationType: destinationType.DATA_URL });
рд▓реЗрдХрд┐рди рд╡рд╣ рд╕рдм рдирд╣реАрдВ рдерд╛ред GetPicture рд╡рд┐рдзрд┐ рдПрдХ base64 рдПрдиреНрдХреЛрдбреЗрдб рдЪрд┐рддреНрд░ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ JSONP рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИред
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЬреАрдИрдЯреА рдЕрдиреБрд░реЛрдз рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрддрдиреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рд╕рд░реНрд╡рд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛, рд╡реИрд╕реЗ, рдореБрдЭреЗ рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ PHP рдореЗрдВ рдмрд╛рдд рдХреА рдереА рдпрд╛ рдирд╣реАрдВред рд╣рд╛рдВ, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рдЖрдк рд╡реЗрдмрд╕реНрдХреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЖрд╕рдиреНрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрднрд╡рддрдГ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╕рдмрд╕реЗ рдХрдард┐рди рдореЗрдВ рд╕реЗ рдПрдХ рдерд╛ред рдФрд░ рд╕рдорд╛рдзрд╛рди рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдерд╛ред рд╕рдордп рдмреАрддрддрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдорд╛рдирдХ рдХрдХреНрд╖рд╛рдПрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЛрддреА рдЬрд╛рддреА рд╣реИрдВ, рдирдП рддрд░реАрдХреЗ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВред рддреЛ XMLHttpRequest рд╡рд░реНрдЧ рдХреЛ рдирдИ рдШрдЯрдирд╛рдПрдВ рдорд┐рд▓реА рд╣реИрдВред рдорд╛рдирдХ рдСрдиреНрд░реЗрдбрд┐рд╕реНрдЯреЗрдЯрдЪреЗрдВрдЬ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдСрдирд▓реЛрдб рдШрдЯрдирд╛ рднреА рджрд┐рдЦрд╛рдИ рджреАред рдпрджрд┐ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╣реИрдВрдбрд▓рд░ рдЙрд╕ рдкрд░ "рд▓рдЯрдХрд╛" рд╣реИ, рдФрд░ рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рд╣реЗрдбрд░ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди / x-form-urlencoded рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ POST рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдХреНрд░реЙрд╕-рдбреЛрдореЗрди рдЕрдиреБрд░реЛрдз рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ
var xhr = new XMLHttpRequest(); xhr.open('POST', url, true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.onload = function(e) { if (this.readyState == 4) { if (this.status == 200) { var r = JSON.parse(this.responseText); if (r.success) { callback(false, r.data); } else { callback(true, r.message); } } else { that.view.ShowPopupWindow('Error', msg.ERROR_CONNECTION); } } }
рдФрд░ рдлрд┐рд░ рднреА, рдПрдХ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБред рдХреНрд░реЙрд╕-рдбреЛрдореЗрди рдЕрдиреБрд░реЛрдз, рдЪрд╛рд╣реЗ рд╡рд╣ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ, рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╣реИ, рднрд▓реЗ рд╣реА рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реЛред
рдореБрдЭреЗ рд╕рдорд╛рди рдЙрддреНрдкрддреНрддрд┐ рдиреАрддрд┐ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рднреА рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдкрд░ рд╣реИред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ, рдХреНрд░реЙрд╕-рдбреЛрдореЗрди рдЕрдиреБрд░реЛрдз рдФрд░ рдЕрдВрдд рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреА рдЧрдИ рд╣реИред
рдореИрдВрдиреЗ рдлреЙрд░реНрдордбрд╛рдЯрд╛ рдПрдкреАрдЖрдИ рдХреА рднреА рдХреЛрд╢рд┐рд╢ рдХреА
developer.mozilla.org/en-US/docs/Web/API/FormData?redirectlocale=en-US&redirectslug=Web%2FAPI%2FXMLHttpRequest%2FFormData
рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдПрдкреАрдЖрдИ, рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЕрдЧрд░ рдЖрдкрдХреЛ рдлреЛрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрдирдд рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ: рдПрдХреНрд╕реЗрд▓реЗрд░реЛрдореАрдЯрд░, рдХрдореНрдкрд╛рд╕, рдХреИрдорд░рд╛, рдореАрдбрд┐рдпрд╛, рдЖрджрд┐ред рдХреЙрд░реНрдбреЛрд╡рд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ (рдЬреЛ рд▓рдЧрднрдЧ 300 рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рд╣реИ)ред рд╡реИрд╕реЗ, рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рди рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдЙрдкрд▓рдмреНрдз рд╣реИред
рдЪрд░рдг 7 - рдбрд┐рдмрдЧрд┐рдВрдЧ
рдпрд╣рд╛рдВ рд╣рдорд╛рд░рд╛ рдЖрд╡реЗрджрди рддреИрдпрд╛рд░ рд╣реИред рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рд░рд┐рдкрд▓ рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ (рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдЕрдиреБрднрд╛рдЧ рджреЗрдЦреЗрдВ)ред рдордЬрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреН рдлреЛрди рдкрд░ рдбрд┐рдмрдЧрд┐рдВрдЧред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЧреНрд░рд╣рдг рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рд╕реЗ рдкрд╣рд▓реЗ, рд╕рд┐рд╕реНрдЯрдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИред рдкреНрд░реЛрдЬреЗрдХреНрдЯ -> рд╕реНрд╡рдЪреНрдЫ рдЗрд╕реЗ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред рд░рди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ - рдЪрд▓реЛ рдЪрд▓реЗрдВ!
рдПрдореБрд▓реЗрдЯрд░ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, LogCat рдЧреНрд░рд╣рдг рдкреИрдирд▓ рдореЗрдВ рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕рдВрджреЗрд╢ рд╣реЛрдВрдЧреЗред рдкрд╣рд▓рд╛ рд╕рд╡рд╛рд▓ рдЬреЛ рдЙрдарддрд╛ рд╣реИ рд╡рд╣ рд╣рдорд╛рд░рд╛ рдХреНрдпрд╛ рд╣реИ? рдХреЗрд╡рд▓ рдЖрдкрдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЙрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрдВрд╕реЛрд▓ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЙрдЧрдХрдЯ рдкреИрдирд▓ рдореЗрдВ, рдмрд╛рдИрдВ рдУрд░, рдПрдХ рдЕрд▓рдЧ рдмреНрд▓реЙрдХ рд╣реИ, рд╕реЗрд╡реНрдб рдлрд┐рд▓реНрдЯрд░реНрд╕ред рдЗрд╕реЗ рдЦреЛрд▓рдиреЗ рдкрд░, рдЖрдкрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЦрд╛рд▓реА рд╕реВрдЪреА рджрд┐рдЦрд╛рдИ рджреЗрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдлрд╝рд┐рд▓реНрдЯрд░ рдирд╣реАрдВ рд╣реИрдВред рдкреНрд▓рд╕ рд╕рд╛рдЗрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╡рд┐рдВрдбреЛ рджреЗрдЦреЗрдВ

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

JSCallback Error: Request failed with status 0 at :1180915830
рд╣рдо рддреНрд░реБрдЯрд┐ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╕рд░реНрд╡рд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИред рддреНрд░реБрдЯрд┐ рдХрд╣рддреА рд╣реИ рдХрд┐ рд╕реНрдерд┐рддрд┐ 0 рдЖ рд░рд╣реА рд╣реИред рд╣рдо Google рдореЗрдВ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдБ рд╣рдо рдХреНрдпрд╛ рдкрд╛рддреЗ рд╣реИрдВ
simonmacdonald.blogspot.ru/2011/12/on-third-day-of-phonegapping-getting.html
stackoverflow.com/questions/11230685/phonegap-android-status-0-returned-from-webservice
рд╣рдо рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ: рд╕рдВрднрд╡рддрдГ рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рд╣реА рд╕реНрдерд┐рддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рдпреЗ рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпреЗ JSCallback рд╕рдВрджреЗрд╢ рдХрд╣рд╛рдВ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ cordova.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд╛рдЗрди 3740 (рдХреЙрд░реНрдбреЛрд╡рд╛-2.1.0.js) рдкрд░ рдЦреЛрдЬреЗрдВ
function startXhr() { // cordova/exec depends on this module, so we can't require cordova/exec on the module level. var exec = require('cordova/exec'), xmlhttp = new XMLHttpRequest(); // Callback function when XMLHttpRequest is ready xmlhttp.onreadystatechange=function(){ if (!xmlhttp) { return; } if (xmlhttp.readyState === 4){ // If callback has JavaScript statement to execute if (xmlhttp.status === 200) { // Need to url decode the response var msg = decodeURIComponent(xmlhttp.responseText); setTimeout(function() { try { var t = eval(msg); } catch (e) { // If we're getting an error here, seeing the message will help in debugging console.log("JSCallback: Message from Server: " + msg); console.log("JSCallback Error: "+e); } }, 1); setTimeout(startXhr, 1); } // If callback ping (used to keep XHR request from timing out) else if (xmlhttp.status === 404) { setTimeout(startXhr, 10); } // 0 == Page is unloading. // 400 == Bad request. // 403 == invalid token. // 503 == server stopped. else { console.log("JSCallback Error: Request failed with status " + xmlhttp.status); exec.setNativeToJsBridgeMode(exec.nativeToJsModes.POLLING); } } };
рд╣рдо if (xmlhttp.status === 200)
рдХреЛ if (xmlhttp.status === 200 || xmlhttp.status === 0)
рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ if (xmlhttp.status === 200)
- рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ!
рдЖрдЧреЗ рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рдКрдБрдЧрд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЪрдХреНрдХрд░ рд▓рдЧрд╛рддреЗ рд╣реБрдП рдкреВрд░рд╛ рджрд┐рди рдХреИрд╕реЗ рдмрд┐рддрд╛рдпрд╛ред рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдирд┐рд░рд╛рд╢рд╛ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рднреА рдореЗрд░реА рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рд╡реИрд╕реЗ рднреА рдЖрд╡реЗрджрди рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛, рдЬрдм рддрдХ рдХрд┐ рдореИрдВрдиреЗ рдЕрднреА рдХреЛрдб рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрддрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдФрд░ рд▓реЛ рдФрд░ рдирд┐рд╣рд╛рд░рдирд╛! рддреНрд░реБрдЯрд┐ рдЧрд╛рдпрдм рд╣реЛ рдЧрдИ рд╣реИ! рд▓реМрдЯрддреЗ рд╣реБрдП, рднрд╛рдЧреЛрдВ рдореЗрдВ, рдореЗрд░реЗ рдХреЛрдб рдореЗрдВ, рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдорд┐рд▓рд╛ рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рддреНрд░реБрдЯрд┐ рд╣реБрдИред
var Util = { SetNewHash: function(hash) { //location.href = 'http://'+location.host+location.pathname+'#'+hash; },
рд╣рд╢ рдХрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЗрд╕ рддрд░рд╣ рдХреА рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд░рд╣рд╕реНрдп рдмрдирд╛ рд╣реБрдЖ рд╣реИред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдкрд░ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ - рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗред
рдЪрд░рдг 8 - рднрд╛рдЧреЛ
рдлреЛрди рдкрд░ рд╕реАрдзреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдЬрд╛рдПрдВ, рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рд╕реЗрдХреНрд╢рди рдЪреБрдиреЗрдВ рдФрд░ рдпреВрдПрд╕рдмреА рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд╕реНрдерд┐рдд рдмреЙрдХреНрд╕ рдХреЛ рдЪреЗрдХ рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдмрд╛рдж, рдЧреНрд░рд╣рдг рдореЗрдВ RUN рдХреЛ рджрдмрд╛рдХрд░, рдкрд░реНрдпрд╛рд╡рд░рдг рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдЖрдкрдХрд╛ рдлреЛрди USB рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдРрд╕рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ред