рдЖрдкрдХреЛ XMLHttpRequest рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

* рдкреНрд░рддрд┐ ред: рдЗрд╕ рд╡рд┐рд╖рдп рдХрд╛ рд╡рд┐рдЪрд╛рд░ рддреБрдЪреНрдЫ рд╣реИ рдФрд░ рд╕рднреА рдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдЖрдБрдХрдбрд╝реЗ рдПрдХ рдХрдареЛрд░ рдмрд╛рдд рд╣реИ, рдФрд░, рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╣рд░ рдХреЛрдИ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИред рдФрд░ рдкрд░рд┐рдгрд╛рдо, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВред *

рдкрд┐рдЫрд▓реЗ рдорд╣реАрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ IE9 рдореЗрдВ рд╕рднреА рдкреЗрдЬ рдХреЗ 8.4% рд╣реИрдВрдЧрд╣реИрдВрд╕рдЯреНрд░реИрд╕рдкреЗрд╕реНрдЯреЗрд╕реНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдпреВрдЖрдИ рд╕реНрдЯреНрд░реАрдо рдХреЛ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реИрдВред рдпрд╣ рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рд╣реИ! рдХреБрдЫ рдЙрдкрд▓рдмреНрдз рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде, рдЗрди рдлреНрд░реАрдЬрд╝ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЯрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреА рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдмреЗрд╣рддрд░ рдЕрдиреБрднрд╡ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рдЖрдк рдлреНрд░реАрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдпрд╣ рднреА рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдбреЗрдореЛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЕрдиреБрд░реЛрдз рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдирд┐рд▓рдВрдмрд┐рдд рдХрд░рддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред

рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ XMLHttpRequest UI рд╕реНрдЯреНрд░реАрдо рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рддрд╛ рд╣реИ


рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ UI рдереНрд░реЗрдб рдореЗрдВ рдмреНрд▓реЙрдХрд┐рдВрдЧ рдСрдкрд░реЗрд╢рди рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ ред рд╣рдордиреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рд▓рд┐рдЦрд╛ рдерд╛ ред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм XMLHttpRequest.send () рд╡рд┐рдзрд┐ рдХреЛ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдУрдкрди () рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ bAsync рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд▓рд┐рдП рдЧрд▓рдд рдорд╛рди рдкрд╛рд╕ рдХрд░рдХреЗ)ред UI рдереНрд░реЗрдб рдХреЛ рддрдм рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдЬрдм рддрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдордп рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╕рдордп, рд╕рдВрджреЗрд╢ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

XMLHttpRequest рдХреЛ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝ рдХреНрдпреЛрдВ рдХрд░реЗрдВ?


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

рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВ ...


рдХрдо рд╕реЗ рдХрдо рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ рдЬрд┐рдирд╕реЗ рдЖрдк рдлреНрд░реАрдЬрд╝ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдХреЛрдб рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓реА рд╡рд┐рдзрд┐ рдмреЗрд╣рддрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк UI рдереНрд░реЗрдб рдХреЛ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рджреВрд╕рд░реА рд╡рд┐рдзрд┐ рдХрдо рдЗрд╖реНрдЯрддрдо рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЕрднреА рднреА рдмреНрд▓реЙрдХ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдХрдо рд╕рдордп рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдЕрднреА рдХрд░ рд░рд╣реЗ рд╣реИрдВред
  1. рдЕрдкрдирд╛ рдХреЛрдб рд▓рд┐рдЦреЗрдВ рддрд╛рдХрд┐ рдЕрдиреБрд░реЛрдз рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╣реЛрдВ


    рдЖрдкрдХреЛ рдУрдкрди () рд╡рд┐рдзрд┐ рдореЗрдВ bAsync рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдорд╛рди рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ onreadystatechange рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓рд░ рднреА рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ ред
  2. рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕рдВрдкрддреНрддрд┐ рд╕реЗрдЯ рдХрд░реЗрдВред


    рдЪреВрдВрдХрд┐ рдбреЗрд╕реНрдХрдЯреЙрдк рд╡рд┐рдВрдбреЛ рдореИрдиреЗрдЬрд░ рдПрдХ рдЬрд╡рд╛рдм рдХреЗ рдмрд┐рдирд╛ 5 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж рдПрдХ рд╣реИрдВрдЧ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ, рдФрд░ IE рдореЗрдВ рдПрдХ рд╣реИрдВрдЧ рдХреЗ рдмрд╛рдж рд░рд┐рдХрд╡рд░реА 8 рдХреЗ рдмрд╛рдж рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рдЯрд╛рдЗрдордЖрдЙрдЯ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ 5 рд╕реЗрдХрдВрдб рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рдЖрдк рдСрдирдЯрд╛рдЗрдо рдЗрд╡реЗрдВрдЯ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓рд░ рднреА рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

    (рдореИрдВ рдЗрди рдирдВрдмрд░реЛрдВ рдХреЛ рдХреИрд╕реЗ рдЬрд╛рдирддрд╛ рд╣реВрдВ? рдпрд╣рд╛рдВ рдФрд░ рдпрд╣рд╛рдВ рдкрдврд╝реЗрдВ)


рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?


рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ, рдПрдХ рд╕рд░рд▓ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
  1. рд╣рдо рдПрдХ рдХреЛрдб рд▓рд┐рдЦреЗрдВрдЧреЗ рдЬреЛ рдПрдХ рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рддрд░рд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдирд┐рд▓рдВрдмрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░
  2. рдХреЛрдб рдХреЛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рджреЗрдЦреЗрдВред

рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рд▓рдХреНрд╖реНрдп рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдПрдХ рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЕрдиреБрд░реЛрдз рд╕реЗ рд╕рдВрдХреНрд░рдордг рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрднрд╡ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рддрд╛ рд╣реИред

рдЪреЗрддрд╛рд╡рдиреА: рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдЖрдкрдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд▓рдЯрдХрд╛ рджреЗрддрд╛ рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдФрд░ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рджреЛрдиреЛрдВ рдкрд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрд╡рд╛рдВрдЫрдиреАрдп рдкрд░рд┐рдгрд╛рдо рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЗрд╕реЗ рдХрд┐рд╕реА рдкреНрд░реЛрдбрдХреНрд╢рди рд╕рд░реНрд╡рд░ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдорд╢реАрди рдкрд░ рди рдЪрд▓рд╛рдПрдВ рдЬреЛ рдЕрд╕реНрдерд┐рд░ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЧрд▓рдд рдХреЛрдб рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИрдВред

рд╕реНрдерд╛рдкрдирд╛


рдпрджрд┐ рдЖрдк рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХреЛ рд╕реАрдзреЗ рджреЛрд╣рд░рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ ASP.NET рдкреЗрдЬ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рд╢рд╛рдпрдж рд╕рднреА рдкрд╛рдардХ ASP.NET рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЛрдб рдкрд░реНрдпрд╛рдкреНрдд рдкрд╛рд░рджрд░реНрд╢реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЖрдк рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рдЕрд▓рдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХреЗрдВред

рдореИрдВ рдпрд╣ рднреА рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ рдФрд░ рд╕рд░реНрд╡рд░ рд▓реЙрдЬрд┐рдХ рд╡рд╛рд▓реЗ рдкреЗрдЬ рдЪрд▓рд╛рдирд╛ рдЬрд╛рдирддреЗ рд╣реИрдВред

рдЗрд╕ рдХреЛрдб рдХреЛ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдХрд╣реАрдВ рднреА hangme.aspx рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрд╡ рдХрд░реЗрдВред

<!-- code starts after this line --> <%@ Page Language="C#" %> <html> <head> <title>XmlHttpRequest open hang test</title> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { if(Request.QueryString["hang"] == "1") { int seconds = 0; Int32.TryParse(Request.QueryString["seconds"], out seconds); System.Threading.Thread.Sleep(seconds * 1000); } } </script> <script type="text/javascript"> function call_hangme() { var oReq; if (window.XMLHttpRequest) { oReq = new XMLHttpRequest(); } if (oReq != null) { var sUrl = "http://localhost/hangme.aspx?hang=1&seconds=360"; // change localhost to your server name if applicable document.getElementById("txt1").innerHTML = "Request Sent..."; // pass false for the bAsync parameter for a synchronous request oReq.open("GET", sUrl, false); oReq.send(); document.getElementById("txt1").innerHTML = "Response Received!"; } else { window.alert("Error creating XmlHttpRequest object."); } } </script> </head> <body> <p>Click this button to hang the browser</p> <form name="form1" action="" method="get"> <input type="button" name="btn1" value="hang me" onClick="call_hangme()"> </form> <p id="txt1"/> </body> </html> <!-- code ends on the line before this one --> 


рдЪрд▓реЛ рдЗрд╕реЗ рд▓рдЯрдХрд╛рдУ!


рдЕрдм,
  1. Internet Explorer рдЦреЛрд▓реЗрдВ рдФрд░ hangme.aspx рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдПрдВред
  2. "рдореБрдЭреЗ рд▓рдЯрдХрд╛рдУ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред


рдЙрд╣ рдУрд╣! рд╣рдо рдлрдВрд╕ рдЧрдП рд╣реИрдВ! рдЪреВрдВрдХрд┐ рд╣рдордиреЗ рд╕реНрдЯреНрд░реАрдо рдХреЛ 6 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рд╕реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдпрд╣рд╛рдВ рдереЛрдбрд╝рд╛ рд╕рд╛ рдШреБрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдк IE9 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдВрднрд╡рддрдГ "рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдкреГрд╖реНрда" рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реБрдП рдиреАрдЪреЗ рдПрдХ рд╕реБрдирд╣рд░рд╛ рдкрд╛рд╕рд╛ рджреЗрдЦреЗрдВрдЧреЗред рдпрджрд┐ рдЖрдк рдПрдХ рдЕрд▓рдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рдЬрдореА рд╣реБрдИ рдЦрд┐рдбрд╝рдХреА рдорд┐рд▓реЗрдЧреАред

рд╣рдо рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЕрдиреБрд░реЛрдз рдЦреЛрд▓рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ


рдЗрд╕ рдХреЛрдб рдХреЛ рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ wont_hangme.aspx рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ ред

 <!-- code starts after this line --> <%@ Page Language="C#" %> <html> <head> <title>XmlHttpRequest open hang test</title> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { if(Request.QueryString["hang"] == "1") { int seconds = 0; Int32.TryParse(Request.QueryString["seconds"], out seconds); System.Threading.Thread.Sleep(seconds * 1000); } } </script> <script type="text/javascript"> function call_hangme() { var oReq; if (window.XMLHttpRequest) { oReq = new XMLHttpRequest(); } if (oReq != null) { var sUrl = "http://localhost/wont_hangme.aspx?hang=1&seconds=360"; // change localhost to your server name if applicable document.getElementById("txt1").innerHTML = "Request Sent..."; // pass true for the bAsync parameter /* ===> */ oReq.open("GET", sUrl, true); /* Here we define an anonymous function for the onreadystatechange event. We check if we received all the data, and the request was successful before changing the text */ /* ===> */ oReq.onreadystatechange = function() { if (oReq.readyState == 4 && oReq.status == 200) { document.getElementById("txt1").innerHTML = "Response Received!"; } } oReq.send(); } else { window.alert("Error creating XmlHttpRequest object."); } } </script> </head> <body> <p>Click this button to hang the browser</p> <form name="form1" action="" method="get"> <input type="button" name="btn1" value="hang me" onClick="call_hangme()"> </form> <p id="txt1"/> </body> </html> <!-- code ends on the line before this one --> 


рдирдпрд╛ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ( Perред: рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдм рдкрд░ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╣рдо рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд╛рдж рд▓рд╛рдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ "// bAsync рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рд╕рдЪ рд╣реИ" рдФрд░ рдлрд┐рд░ onreadystatechange рдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓рд░ рд╕реЗрдЯ рдХрд░реЗрдВ )ред рдЕрдм рд╣рдо рдУрдкрди () рд╡рд┐рдзрд┐ рдХреЛ bAsync = true рдХрд╣рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЙрд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдпрд╛ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП UI рдереНрд░реЗрдб рдХреЛ рдореБрдХреНрдд рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рд╣рдо рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рдВрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рд╣рдо рдЕрдЯрдХ рдирд╣реАрдВ рд░рд╣реЗ рд╣реИрдВ!

рдЕрдм, рдЬрдм рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЬрд▓реНрдж рдпрд╛ рдмрд╛рдж рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрддреА рд╣реИ, рддреЛ рд╣рдореЗрдВ рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЬреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯреЗрдб рдХреЛрдб рдХрд░рддрд╛ рд╣реИред рдпрд╣ onreadystatechange рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рд╣реИрдВрдбрд▓рд░ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВ рдХреЗрд╡рд▓ рдЬрд╛рдБрдЪ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ рдЕрдиреБрд░реЛрдз рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ ( рд╕реНрдерд┐рддрд┐ == 200) рдкрд╛рд╕ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрд┐ рд╕рднреА рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ (рддреИрдпрд╛рд░ == 4)ред

рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рдЯрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВ?


рдлрд┐рд░
  1. рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдЦреЛрд▓реЗрдВ рдФрд░ wont_hangme.aspx рдкрд░ рдЬрд╛рдПрдВред
  2. "рдореБрдЭреЗ рд▓рдЯрдХрд╛рдУ" рдмрдЯрди рджрдмрд╛рдПрдВред


рджреЗрдЦрд╛! рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдлреНрд░реАрдЬ рдирд╣реАрдВ рд╣реБрдЖред рдЬрдм рдЬрд╡рд╛рдм рдлрд┐рд░ рднреА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрддрд╛ рд╣реИ, рддреЛ рдкрд╛рда рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛; рд▓реЗрдХрд┐рди рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрднреА рднреА рдкреГрд╖реНрда рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ


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

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


All Articles