рд▓реЗрдЦ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╢реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЕрдВрдЬреИрдХреНрд╕ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдбреЗрдЯрд╛ рдбрд╛рд▓рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реЛрддреА рд╣реИред
рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдардХ рдХреЛ рдПрдЪрдЯреАрдПрдордПрд▓, рд╕реАрдПрд╕рдПрд╕ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЬреНрдЮрд╛рди рдХрд╛ рдФрд╕рдд рд╕реНрддрд░ рд╣реИ рдФрд░ рдЗрдВрдЯреЗрд░рд╕рд┐рд╕реНрдЯрдо рдХреИрд╢ рдХреЗ рд╕рд╛рде рдиреНрдпреВрдирддрдо рдЕрдиреБрднрд╡ рд╣реИред Cach├й
рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг
рдпрд╣рд╛рдБ рдбрд╛рдЙрдирд▓реЛрдб
рдХрд░реЗрдВ ред рдХреИрдЪ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрдиреБрднрд╡
рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред
CSP рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ jQuery рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?
CSP (рдЬрд╝реЗрди) Cach├й рджреНрд╡рд╛рд░рд╛ рдкреЗрд╢ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рддрдХрдиреАрдХ рд╣реИ рдЬреЛ рдЬрд▓реНрджреА рд╕реЗ ajax рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ Cach├й рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
JQuery рдЖрдкрдХреЗ CSP (ZEN) рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдорджрдж рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
1. html рдкреГрд╖реНрда рдХреЗ рдХрд┐рд╕реА рднреА рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкрд╣реБрдБрдЪ
JQuery рдлреНрд░реЗрдорд╡рд░реНрдХ рдЖрдкрдХреЛ
рд╕реАрдПрд╕рдПрд╕ рдЪрдпрдирдХрд░реНрддрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдкрд╕рдВрджреАрджрд╛ рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
2. рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрдЧрддрддрд╛
рдХреНрд░реЙрд╕-рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрдЧрддрддрд╛ рдЖрдзреБрдирд┐рдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рджрд╛рд╡рд╛ рд╣реИ рдХрд┐ jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЛрдб рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ - IE 6.0+, FF 3.6+, Safari 5.0+, рдУрдкреЗрд░рд╛, рдХреНрд░реЛрдоред
рдкреНрд▓рдЧ-рдЗрди
jQuery рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рд╕реЗ (2006 рдореЗрдВ),
рдХреБрдЫ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред
JQueryUI рдХреНрд▓рд╛рдЗрдВрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╡рд┐рд╢реЗрд╖ рдЙрд▓реНрд▓реЗрдЦ рдХреЗ рдпреЛрдЧреНрдп рд╣реИред
JQuery рдХреЛ рдЕрдкрдиреЗ CSP (ZEN) рдкреЗрдЬ рд╕реЗ рдХреИрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ?
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ рд╕реЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА
рдХреЗ рд╕рдВрдХреБрдЪрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб
рдХрд░реЗрдВ , рдЗрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕реАрдПрд╕рдкреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдбрд╛рд▓реЗрдВ, csp (zen) рдкреГрд╖реНрда рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдХрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг jQuery рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
рд╕реАрдПрд╕рдкреА
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
ZEN
Parameter JSINCLUDES As STRING="jquery-1.7.1.min.js"
рд╕реАрдПрд▓рдПрд╕
w "<script type='text/javascript' src='jquery-1.7.1.min.js'></script>"
Cach рдореЗрдВ рд╕рд░реНрд╡рд░ рдкреЗрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП CSP, ZEN рдФрд░ CLS рддреАрди рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВред
рдкреНрд░рддреНрдпреЗрдХ CSP рдкреГрд╖реНрда, рдЬрдм рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рддреЛ рдорд╛рдирдХ Cache рд╡рд░реНрдЧ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ -% CSP.Page - CSP рд╡рд░реНрдЧ рдХрд╛ рд╡рдВрд╢рдЬред рджреВрд╕рд░реА рд╡рд┐рдзрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ - рдХреЛрдб-рдЖрдзрд╛рд░рд┐рдд, рдХреИрд╢реЗ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреГрд╖реНрда рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдорд╛рдирддрд╛ рд╣реИ,% CSP.Page рд╡рд░реНрдЧ рдХреЗ рд╡рдВрд╢рдЬ - рд╕реАрдПрд▓рдПрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдгред рдпрд╣рд╛рдВ рдорддрднреЗрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рджреЗрдЦреЗрдВред
рддреАрд╕рд░реА рд╡рд┐рдзрд┐ - рдЬрд╝реЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдХрд╛рд╕ рдЗрди рджреЛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИ - рдЬрд╝реЗрди рдЯреИрдЧ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛрдб рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, рд╕рдВрдХреЗрддрди CSP, CLS, ZEN, рдЙрд╕ рдкреГрд╖реНрда рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛рдЗрдВрдЯрд░рдиреЗрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдордЧреНрд░реА рд╡рд┐рддрд░рдг рдиреЗрдЯрд╡рд░реНрдХ (CDN) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкрд╕рдВрджреАрджрд╛ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, jQuery рдлрд╝рд╛рдЗрд▓
рд╕реВрдЪреАрдмрджреНрдз рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд┐рдд рд╣реЛрдЧреАред CDN рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрд╢рди рдЙрджрд╛рд╣рд░рдг:
CSP: <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> ZEN: Parameter JSINCLUDES As STRING="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"; CLS: &html< <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> >
JQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ jQuery рдлрд╝рдВрдХреНрд╢рди jQuery () рдХрд╣рд▓рд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдмрд╛рд░ рдЗрд╕рдХреЗ рдкрд░реНрдпрд╛рдпрд╡рд╛рдЪреА рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - $ () рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рддрд░реНрдХреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдФрд░ рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛ред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд╡рд┐рдХрд▓реНрдк:
1. рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рд╡рд┐рдзрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдпрд╛ рддреЛ jQuery (CSS) рдЪрдпрдирдХрд░реНрддрд╛ рдпрд╛ HTML рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧреА:
$( "div#1973" )
2. рдкреГрд╖реНрда рддрддреНрд╡ рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
$( document.body )
3. рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
function loadHandler() { alert( " " ); } $( loadHandler );
рдпрд╛ рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди:
$( function (){ alert( " " ); } );
рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдШрдЯрдирд╛ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдРрд╕реЗ рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
<body onload="loadHandler">
рдПрдХ рдкреГрд╖реНрда рдкрд░ рддрддреНрд╡реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, jQuery рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреА:
html() html- . val() (input,select) attr() append(), appendTo() , remove() bind(), unbind() , . bind() click(), keypress(), hover() .. addClass(), removeClass(), toggleClass() , , () css() show(), hide() , parents(),parent() children()
* рдХрд╛рд░реНрдпреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА
рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА
рд╣реИредрдпрд╣ jQuery рдореЗрдВ рд▓рд╛рдЧреВ рдХреБрдЫ рдирд┐рдпрдореЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
- рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдо рдПрдХ jQuery рд╡рд╕реНрддреБ рдореЗрдВ рдкреИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
- рдЕрдзрд┐рдХрд╛рдВрд╢ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рд╕рдВрджрд░реНрдн рджреЗрддреЗ рд╣реИрдВред
рдЗрди рдирд┐рдпрдореЛрдВ рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдХреЛрдб рдХреЛ "рд╡рд┐рдиреАрдд" рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ "рдЪреЗрди" рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдирдореВрдирд╛ jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреЛ рдПрдХ рддрддреНрд╡ рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдореВрд▓реНрдп рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ:
<script type="text/javascript" src="jquery-1.7.1.min.js"></script> <script type="text/javascript"> $(function(){ $( ".age38" )
"рд╡рд┐рдиреАрддрддрд╛" рдпрд╣ рд╣реИ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдкреГрд╖реНрда рдкрд░ рдЖрдпреБ 38 рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдХреЛрдИ рддрддреНрд╡ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдФрд░ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдмрд╛рдзрд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ
рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЗрд╕реА рддрд░рд╣ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рд▓реЗрдХрд┐рди рдмрд┐рдирд╛ jQuery рдХреЗ
<script type="text/javascript">
рдкрд░рд┐рдгрд╛рдореА рдХреЛрдб jQuery рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдЫреЛрдЯрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрддрдирд╛ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдФрд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░ рд╕реЗ рдмрд╣реБрдд рдкреНрд░рдпрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдХреИрд╢ + jquery
CSP рдкреГрд╖реНрда рдкрд░ jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдиреНрдпреВрдирддрдо рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рдирд┐рдореНрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯреЗ рдЪреИрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

рдЙрджрд╛рд╣рд░рдг рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:
- рдЗрдВрдЯрд░рдлрд╝реЗрд╕ jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
- рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╕рд░реНрд╡рд░ рдХреЙрд▓ #call () # рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрддрд╛ рд╣реИ
- рдбреЗрдЯрд╛ рд╡реИрд╢реНрд╡рд┐рдХ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдкреГрд╖реНрда рд╕реНрд░реЛрдд:
<!DOCTYPE html> <html><head><title> jqChat├й </title> <style type="text/css">.msg span {padding: 0px 0px 0px 5px}</style> </head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript"> $( function(){ var USERNAME="#($USERNAME)#" // Cache , box=$( "<div/>" ).css("overflow","auto") // , .css("border","1px solid #ccc").width( 340 ).height( 280 ) // .appendTo( $(document.body) ) // ; box.parent() // body // body input, .append( $("<input />").css( "width",200 ) .attr("maxlength",50).before( USERNAME+": ") ) .append( // $("<button/>").text( "Send" ) // .click( function(){ // #call(..Add($(this).prev().val()))#; // (input) $("input").val("").focus(); //textbox , }) ); var drawMsg=function(/*[id,time,user,msg]*/ array ){ // var USER=2, MSG=3, SOFT="#999", BRIGHT="#339" // , msg = $( "<div><span>" + array.join("</span><span>") + "</span></div>") //html .appendTo( box ).hide() // - .addClass("msg") // .children(":first").hide() //id - .next().css("color", SOFT) //time // .next().css("color", (USERNAME==array[USER]) ? SOFT : BRIGHT ).append(": ") .parent() // msg ; if (array[MSG]!=="") { // msg.show(); // var div=msg.get(0); // html- if (div) div.scrollIntoView(); // } }; //drawMsg window.chat=function(array){ // if ( $.isArray(array) ) drawMsg( array ); // - // - ? setTimeout( // jQuery function(){ #call(..GetNext($(".msg:last span:first").text()))# } , #($get(^chatSettings("timeout"),300))# ); // }; //window.chat chat(); // - }); </script><body></body></html> <script runat="server" method="Add" arguments="msg:%String" language="cache"> #; s ^chat($increment(^chat))=$listbuild( $zt( $now() ), $USERNAME, msg ) </script> <script runat="server" method="GetNext" arguments="lastMsg:%String" language="cache"> #; c set lastMsg=$get(lastMsg), prevMsg=$order( ^chat(lastMsg),-1 ), isNewUser=( lastMsg = "" ) set callBack="window.parent.chat(" ; set isNewChat=( isNewUser && (prevMsg="") ) if ( isNewChat ) write callBack,")" Quit if ( isNewUser ) write callBack,"[", prevMsg, ",'','',''])" Quit ; set nextMsg=$order( ^chat( lastMsg ) ) if ( nextMsg="" ) write callBack,")" Quit set stored=$get(^chat(nextMsg)) ; write callBack,"[",nextMsg,", ", ..QuoteJS( $listget(stored,1) ) , ",", ..QuoteJS( $listget(stored,2) ) , ",", ..QuoteJS( ..EscapeHTML( $listget(stored,3 ))) , "])" </script>
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рднреА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЦреЛрд▓реЗрдВ, рдПрдХ рдирдпрд╛ рд╕реАрдПрд╕рдкреА-рдкреЗрдЬ рдмрдирд╛рдПрдВ, рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдкреГрд╖реНрда рд╕реЗ рдХреЙрдкреА рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВред рдкреГрд╖реНрда рдХреЛ рдХрд┐рд╕реА рднреА рдирд╛рдо рд╕реЗ рд╕рд╣реЗрдЬреЗрдВ - рдЙрд╕реА рд╕рдордп рдХрд┐рд╕реА рднреА рдореМрдЬреВрджрд╛ рд╕реАрдПрд╕рдкреА-рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдлрд┐рд░ рдкреЗрдЬ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВ (Ctrl + F7) рдФрд░ рдЗрд╕реЗ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ (F5) рдореЗрдВ рдЦреЛрд▓реЗрдВред
рдПрдХ рдЬреЗрди рдкреЗрдЬ рдкрд░ jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЬрд╝реЗрди рдкреГрд╖реНрда рдкрд░ jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ CSP (рддрддреНрд╡реЛрдВ рдХреЛ рдЦреЛрдЬрдирд╛ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛) рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЬрд╝реЗрди рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдФрд░ рдХреИрд╢ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдорд╛рди рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрд┐рдВрджреБрдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
- рдкреЗрдЬ рд▓реЛрдб рдШрдЯрдирд╛ рдХреЗ рдмрд╛рдж рдЬрд╝реЗрди рдкреЗрдЬ рдореЙрдбрд▓ рдмрдирдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
- рдкреЗрдЬ рдореЙрдбрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝реЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
- рдЬрд╝реЗрди рдЕрддрд┐рд░рд┐рдХреНрдд рдЫрд┐рдкреЗ рд╣реБрдП рддрддреНрд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╛рд░реНрдХрдЕрдк рдмрдирд╛рддрд╛ рд╣реИ
рдХреЗрд╕ рд╕реНрдЯрдбреА рдХреИрд╢ + jQuery
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣реАрдд рд╡рд░реНрдЧ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
рдЙрджрд╛рд╣рд░рдг рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:
- рдЙрджрд╛рд╣рд░рдг рдХреИрд╢ рд╕рдВрд╕реНрдХрд░рдг 2010 рдФрд░ рдЙрдЪреНрдЪрддрд░ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
- рдбрд╛рдпрдирд╛рдорд┐рдХ рдИрд╡реЗрдВрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рднреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЛ рдПрдХ рдЕрд▓рдЧ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
- рдкреЗрдЬ рдХрдВрдЯреЗрдВрдЯ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╕реАрдзреЗ рдмреНрд░рд╛рдЙрдЬрд░ рдореЗрдВ рдЬреЗрдирд░реЗрдЯ рд╣реЛрддрд╛ рд╣реИ
- "рд╣рд╛рдЗрдкрд░" рдШрдЯрдирд╛рдУрдВ рдФрд░ "рдЧрддрд┐рд╢реАрд▓" (рдордХреНрдЦреА рдкрд░ рдЙрддреНрдкрдиреНрди) рд╡рд┐рдзрд┐ рдкреГрд╖реНрдареЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
- рд╕рд░реНрд╡рд░ рдЕрдиреБрд░реЛрдз рддрд░реНрдХреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ
-% XML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ XML рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рд╕рд░реНрд╡рд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИред jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ XML рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рд╕рд░реНрд╡рд░ рд░рд┐рд╕реНрдкрд╛рдВрд╕ рдФрд░ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛
1. рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рд╡рд░реНрдЧ рдмрдирд╛рдПрдВ
///
Class test.data Extends (%Persistent, %Populate, %XML.Adaptor) {
///
Property code As %String;
///
Property name As %String;
/// "",
Method %OnNew(ByRef args as %String="") As %Status [ Private, ServerOnly = 1 ] {
s ..code=$g(args("code",1)), ..name=$g(args("name",1))
Quit $$$OK
}
}
2. Cache рдЯрд░реНрдорд┐рдирд▓ рд╕реЗ рдХреНрд▓рд╛рд╕ рд╡рд┐рдзрд┐ рдХреЙрд▓ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ test.data рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдмрдирд╛рдПрдВред
USER>d ##class(test.data).Populate()
3. рдПрдХ рдкреГрд╖реНрда рд╡рд░реНрдЧ рдмрдирд╛рдПрдБ:
/// рдкреЗрдЬ test.data рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
Class wui.testData Extends %CSP.Page {
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд wui.testData.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд╣реИред рдлрд╝рд╛рдЗрд▓ csp рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред USER рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП, рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ [рдХреИрд╢ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛] \ CSP \ USER \ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред
$(function(){
рдХреБрдЫ рдкрд░рд┐рдгрд╛рдо:
- JQuery рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИ;
- jQuery рдЖрдкрдХреЛ рдкреГрд╖реНрда рдХреА рдЧрддрд┐рд╢реАрд▓ рдФрд░ рд╕реНрдерд┐рд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ;
- jQuery рдореЗрдВ, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рддрд░реНрдХ рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рддрд░рдл рдзрдХреЗрд▓рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЬрд┐рд╕рд╕реЗ Cach├й рд╕рд░реНрд╡рд░ рдкрд░ рд▓реЛрдб рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред