рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рдкреВрд░реЗ рд░рдиреЗрдЯ рдкрд░ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╣реИрдмрд░ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдореИрдВрдиреЗ рдЙрди рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЦреЛрдЬрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдХрд░реАрдм рд╣реИрдВред рдХрдИ рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рдПрдХреНрд╕реЗрд╕рд░реНрд╕ (рд╕реЗрдЯрд░ / рдЧреЗрдЯреНрдЯрд░) рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдЬреЛ рди рдХреЗрд╡рд▓ рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, рдмрд▓реНрдХрд┐ 9 рд╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдиреАрдЪреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ IE рдореЗрдВ рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреАрдЪреЗ рдкрдврд╝реЗрдВред
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╣рдореЗрдВ рдЬрд┐рди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрдирдХреА рдХрдХреНрд╖рд╛рдПрдВ рдХреИрд╕реЗ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ, рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд╕рд╛рдзрд╛рд░рдг рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЧреБрдг, рдирд┐рдЬреА рдЧреБрдг рдФрд░ рд╕реНрдерд┐рд░ рдЧреБрдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд░реНрдЧ рдирд┐рд░реНрдорд╛рдг
рдПрдХ рдХреНрд▓рд╛рд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдХреНрд▓рд╛рд╕ рдХрд╛ рдирд╛рдо рдШреЛрд╖рд┐рдд рдХрд░реЗрдВ рдФрд░ рдЙрд╕реЗ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВред
рдПрдХ рдЦрд╛рд▓реА рд╡рд░реНрдЧ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
classes.Class( "EmptyClass", {} ); // classes.EmptyClass alert( classes.EmptyClass ); // [class EmptyClass]
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╣реА рд╕рдордЭ рдЪреБрдХреЗ рд╣реИрдВ, рдХреНрд▓рд╛рд╕ рдмрдирд╛рдиреЗ рд╕реЗ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рднрд╛рд░реА рдЦрд░реНрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рдирд┐рдЬреА рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬрд┐рд╕рдореЗрдВ рдХреНрд▓рд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛
рдирд┐рдЬреА рдЧреБрдгреЛрдВ рд╡рд╛рд▓реЗ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
classes.Class( "PrivatePropertyClass", function(){ // / var privateProp = "tratata", twoPrivateProp = "lalala"; // return { } }); // var privateTest = new classes.PrivatePropertyClass(); // alert( privateTest.privateProp ); // undefined
рдЖрдк рди рдХреЗрд╡рд▓ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдХрд┐рд╕реА рдЕрдиреНрдп рдореЗрдВ рднреАред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХрдИ рддрд░реАрдХреЗ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдк рдХрд┐рд╕реА рднреА рд╡рд┐рдзрд┐ рдХреЛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЪреАрдЬ рдХреЗ рдЦреБрдж рдХреЛ рд╕реАрдорд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ред
рдпрд╣рд╛рдВ рдХрд┐рд╕реА рднреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рдВрджрд░реНрдн рдореЗрдВ рдПрдХ рдХреНрд▓рд╛рд╕ рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рджрд┐рдП рдЧрдП рд╣реИрдВ:
// window classes.Class.call( window, "GlobalClass", {} ); // var CurrentContextClass = classes.Class( {} ); // // classes c ClassesContextClass var CurrentContextClass = classes.Class( "ClassesContextClass", {} );
рдЗрд╕ рдкрд░ рдФрд░ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рдЕрдм рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рдЙрдирдХреЗ рдХрд╛рдо рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП PHP рдореЗрдВ рдореМрдЬреВрдж рдХрдХреНрд╖рд╛рдУрдВ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред "рдпрд╣ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛!" рдЖрдк рдкреВрдЫрддреЗ рд╣реИрдВ, рд╣рд╛рдБ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред рдпрд╣рд╛рдВ рд╕реВрдХреНрд╖реНрдорддрд╛рдПрдВ рд╣реИрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдУрдУрдкреА рдХреЗ рдЗрдВрдЯрд░рдлреЗрд╕, рд╕рд╛рд░, рдФрд░ рдЕрдиреНрдп рдкреВрд░реНрдг рдЖрдХрд░реНрд╖рдг рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдореМрдЬреВрджрд╛ рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХреНрд▓рд╛рд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдЬреНрдЮрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИ, рд╕рдВрджрд░реНрдн рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рдирд╣реАрдВ рдЪрд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрддреНрдкрдиреНрди рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рд╣реА рдЙрджрд╛рд╣рд░рдг рд╣реИред
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдПрдХ рд╕рд░рд▓ рд╡рд░реНрдЧ рдмрдирд╛рдПрдВ рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
classes.Class( "Debug", function() { // var // BODY body = null, // body cache = []; return { // , // callback , constructor: function( callback ) { // var listener = window.addEventListener ? [ "addEventListener", "" ] : [ "attachEvent", "on" ]; // , // if ( document.readyState === "complete" ) { // , // BODY body = document.body; // // if ( callback && typeof callback === "function" ) { callback.call( this ); } // return; } // callback' var self = this; // , window[ listener[ 0 ] ]( listener[ 1 ] + "load", function() { // , // BODY body = document.body; // , . for( var i = 0; i < cache.length; i++ ) { body.appendChild( cache[ i ] ); cache[ i ] = null; } // cache.length = 0; // // if ( callback && typeof callback === "function" ) { callback.call( self ); } // bubbling - : http://learn.javascript.ru/bubbling-and-capturing }, false ); }, // write: function() { // DIV var div = document.createElement( "DIV" ), // , // TRUE // DOM // . isPlainText = arguments.length ? arguments[ arguments.length - 1 ] === true : false, // dataArray = Array.prototype.slice.call( arguments ); // HTML DOM if ( isPlainText && dataArray.pop() ) { // , // DOM div.appendChild( document.createTextNode( dataArray.join( ", " ) ) ); } else { // DOM . div.innerHTML = dataArray.join( ", " ); } // if ( body ) { // BODY body.appendChild( div ); } else { // BODY cache[ cache.length ] = div; } } } });
рдпрд╣рд╛рдВ рд╣рдордиреЗ рдЕрдкрдирд╛ рдкреВрд░реНрдг-рд╡рд░реНрдЧ рдмрдирд╛рдпрд╛ рд╣реИ, рд╣рдордиреЗ рдЗрд╕рдореЗрдВ рдирд┐рдЬреА рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдпрд╣ рд╡рд░реНрдЧ рдХреБрдЫ рднреА рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдкрд╛рда рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ рддрд╛рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рди рд╣реЛред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдм рдЗрд╕ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рд╕рдВрджреЗрд╢ рдкреНрд░рд┐рдВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
var debug = new classes.Debug(); debug.write( " <var>classes.Debug</var> !" );
"рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ!" рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ, рдПрдХ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╡рд░реНрдЧ рдирд┐рд░реНрдорд╛рдгред рд╣рд╛рдВ, рдореИрдВ рдЖрдкрдХреЛ рдЬрд╡рд╛рдм рджреВрдВрдЧрд╛, рдпрд╣рд╛рдВ рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЙрдкрд╣рд╛рд░ рдЕрднреА рддрдХ рдирд╣реАрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╡рд┐рд░рд╛рд╕рдд
рдЖрдЗрдП рдЕрдм рдЕрдкрдирд╛ рджреВрд╕рд░рд╛ рд╡рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдорд╛рд░реЗ рдбрд┐рдмрдЧ рд╡рд░реНрдЧ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред рд╣рдорд╛рд░реА рдирдИ рдХрдХреНрд╖рд╛ рдПрдХ рдирд┐рдпрдорд┐рдд рдмрдЯрди рд╣реЛрдЧреА рдЬреЛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдкрд░ рд░рдВрдЧ рдмрджрд▓ рдЬрд╛рдПрдЧреАред
// ButtonClass Debug classes.Class( "ButtonClass extends Debug", function() { // var mouseState = 0, // , DOM button = null; // function switchState( type ) { // if ( type === 1 ) { mouseState++; // button.style.backgroundColor = "green"; return; } else if ( type === 2 ) { mouseState--; } else { mouseState = 0; } // button.style.backgroundColor = "red"; } return { // constructor: function() { // button = document.createElement( "SPAN" ); // button.style.border = "1px solid blue"; button.style.color = "white"; button.style.textAlign = "center"; button.style.backgroundColor = "red"; button.style.borderRadius = "5px"; button.style.padding = "4px"; button.style.cursor = "default"; // button.innerHTML = " "; // - Debug // // , Debug this.parent.constructor( function() { // var self = this; // DOM document.body.appendChild( button ); // IE button.onselectstart = function() { return false; } // button.onmousedown = function( e ) { // var e = e || window.event; // , switchState( 1 ); // // . if ( e.preventDefault ) { e.preventDefault(); } else { e.returnValue = false; } } // button.onmouseup = function() { // , - switchState( 2 ); // if ( mouseState === 0 ) { // // self.click(); } } // button.onmouseout = function() { // , if ( mouseState && mouseState++ ) { // switchState( 2 ); } } // button.onmouseover = function() { // , if ( mouseState && mouseState-- ) { // switchState( 1 ); } } // var handler = window.document.onmouseup; window.document.onmouseup = function( e ) { // switchState(); // if ( handler ) { handler.call( window, e ); } } }); }, // DOM node: function() { return button; }, // , // . click: function() { } } });
рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдПрдХ рдирдпрд╛ рдмрдЯрдирдХреНрд▓рд╛рд╕ рд╡рд░реНрдЧ рдмрдирд╛рдпрд╛ рд╣реИ, рдЬреЛ рдбрд┐рдмрдЧ рд╡рд░реНрдЧ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦрд╛ рд╣реИ, рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдЙрд╕ рд╡рд░реНрдЧ рдХреЗ рдирд╛рдо рдХреЗ рдмрд╛рдж рдлреИрд▓реЗ рд╣реБрдП рд╢рдмреНрдж рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╣рдо рдЧреБрдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдпрд╣ рд╡рд┐рд░рд╛рд╕рдд рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕реЗ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
var Child = classes.Class( classes.Debug, {} );
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдмрд╛рд▓ рд╡рд░реНрдЧ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдПрдХ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рдмрди рдЧрдпрд╛ рд╣реИ
рдЕрдм рд╣рдорд╛рд░реЗ рд▓рд┐рдЦреЗ рдмрдЯрди рдХреЛ рдЖрдЬрдорд╛рддреЗ рд╣реИрдВ
// var button = new classes.ButtonClass(); // button.click = function() { // write Debug this.write( " " ); } // :) button.write( " <var>classes.ButtonClass</var> !" );
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдмрдЯрди рдорд┐рд▓рд╛ рд╣реИ, рдпрд╣ рд╕реБрдВрджрд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рддрд┐рдкрд╣рд┐рдпрд╛ рд╣реИред рдЖрдк рд╣рдореЗрд╢рд╛ рд╢реИрд▓реА, рдмрдЯрди рдХрд╛ рдирд╛рдо рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдХрдХреНрд╖рд╛ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рд╕реЗрдЯрд░реНрд╕ / рдЧреЗрдЯрд░реНрд╕
рдФрд░ рдЕрдм рдЪрд▓реЛ рдЙрди рдЕрдЪреНрдЫрд╛рдЗрдпреЛрдВ рдХреА рдУрд░ рдмрдврд╝рддреЗ рд╣реИрдВ рдЬреЛ рд╕реАрдорд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдмрд╣реБрдд рд╣реА рдХрдо рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 9 рд╕реЗ рдиреАрдЪреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдЖрдкрдХреЛ рдЧреЗрдЯрд░реНрд╕ / рд╕реЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдПрдХ рдмрдбрд╝рд╛ рдЛрдг рд╣реИред рд╣рд╛рдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рднрд╛рд╖рд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдЗрд╕рд╕реЗ рдХрдо рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рднреАред рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рд╡рд░реНрддрдорд╛рди рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЖрдк рдЗрд╕реЗ рдХреБрдЫ "рдореИрдЬрд┐рдХ рдЧреЗрдЯреНрдЯрд░ / рд╕реЗрдЯрд░" рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдкрд░рд┐рднрд╛рд╖рд┐рддрдкреНрд░рдХрд╛рд░рдХ рдХреЛ рд▓рдЯрдХрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдХрд┐ рдХреМрди рд╕реА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрдЗрдП рд╣рдо рдЕрдкрдиреЗ рдмрдЯрди рд╡рд░реНрдЧ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реБрдкрд░ рдХреНрд▓рд╛рд╕ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рд╕реЗ рдЧреЗрдЯрд░реНрд╕ / рд╕реЗрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдЯрди рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗред рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ, рд╣рдо рдХрд┐рд╕реА рднреА рдирд┐рд░реНрдорд╛рддрд╛ рдпрд╛ рдирд┐рдЬреА рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рдПрдВ рдЬреЛ рдПрдХ рдореИрдЬрд┐рдХ рдЧреЗрдЯреНрдЯрд░ / рд╕реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХреА рдЬрд╛рдПрдЧреА
classes.Class( "SuperButtonClass extends ButtonClass", { // / // , // // $text: null, // , // property , // , // set__: function( property, value ) { // this.write( " SETTER <var>" + property + "</var> <var>" + value + "</var>" ); // text if ( property === "text" ) { // this.node().innerHTML = value; } }, // , // , // , . get__: function( property ) { // this.write( " GETTER <var>" + property + "</var>" ); // text if ( property === "text" ) { // return this.node().innerHTML; } } });
рдпрд╣рд╛рдВ рд╣рдордиреЗ рдПрдХ рдмрдЯрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрдкрд░ рдХреНрд▓рд╛рд╕ рдмрдирд╛рдпрд╛ рд╣реИ, рдЬреЛ рд╕рд╛рдзрд╛рд░рдг рд░реВрдк рд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рд╕рд╛рде рдмрдЯрди рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ, рд╣рдореЗрдВ рдЬреЛ рдореВрд▓реНрдп рдЪрд╛рд╣рд┐рдП, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рднреА рдЧреЗрдЯреНрдЯрд░ / рд╕реЗрдЯрд░ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде, рдЖрджрд┐ред ред
рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рд╛:
// var superButton = new classes.SuperButtonClass(); // , // superButton.write( " : <var>" + superButton.text + "</var>" ); // // superButton.text = " "; // superButton.write( " <var>classes.SuperButtonClass</var> !" );
рдЖрдк
рдЗрд╕ рд▓рд┐рдВрдХ рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рд╕рднреА рд╡рд░реНрдгрд┐рдд рдЙрджрд╛рд╣рд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрдереИрддрд┐рдХ рдЧреБрдг
рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реНрдерд┐рд░ рдЧреБрдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╕рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╡реЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреЗ рдЬрд╛рддреЗ рд╣реИрдВ:
classes.SuperButtonClass.NEW_STATIC = " ";
рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдЗрд╕ рддрдереНрдп рдкрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЛ рд╕рдВрджрд░реНрдн рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдХрд┐ рдореИрдВ рдбрд┐рдмрдЧ рдХреНрд▓рд╛рд╕ рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рд╣рдорд╛рд░реЗ рдмрдЯрди рд╡рд░реНрдЧ рд╕реЗ рдХрд╣рддрд╛ рд╣реВрдВ, рд╕рд╛рдорд╛рдиреНрдп рдХреЙрд▓ рджреНрд╡рд╛рд░рд╛ рдЗрд╕.рдкрд░реЗрдВрдЯ.рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ () рдореЗрдВ, рдбрд┐рдмрдЧ рдХреНрд▓рд╛рд╕ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдВрддрд┐рдо рд╡рдВрд╢рдЬ, рдпрд╛рдиреА рдХреНрд▓рд╛рд╕ рд╕рд░реНрдЬрдХ рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реЛрдЧрд╛ред рдЖрдкрдХреЛ рдЬрд╛рдиреЗ-рдорд╛рдиреЗ рдХреЙрд▓, рдЖрд╡реЗрджрди рдЖрджрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдмрд╕ рдЗрд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВ редparent.parentMethod (args); рдФрд░ рд░рд┐рд╢реНрддреЗрджрд╛рд░ рд╡рдВрд╢ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред
рдореИрдВ рдпрд╣ рднреА рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреНрд▓рд╛рд╕ рдХреЗ рдореМрдЬреВрджрд╛ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЧреЗрдЯрд░реНрд╕ / рд╕реЗрдЯрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг 9 рд╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдиреАрдЪреЗ IE рдЬреИрд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдбрд╛рдпрдирд╛рдорд┐рдХреНрд╕ рдкрд░ рдЫреЛрдЯреЗ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВ, рдмрд╕ рдЙрд╕реА рддрд░рд╣ рдЬрдм рд╡рдВрд╢рдЬ рдФрд░ / рдпрд╛ рдЗрд╕рдХреЗ рд╡рдВрд╢рдЬреЛрдВ рдХреА рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдЧреЗрдЯрд░реНрд╕ / рд╕реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рднреА рдЧреБрдг рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдкреНрд░рддрд┐рдмрдВрдз рдХреЗрд╡рд▓ 9 рд╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдиреАрдЪреЗ IE рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдШрдЯрдирд╛ рдореЗрдВ рдХрд┐ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЧреЗрдЯреНрдЯрд░ / рд╕реЗрдЯрд░ рдореМрдЬреВрдж рд╣реИред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рд╕реБрдкрд░рдмрдЯрдирдХреНрд▓рд╛рд╕ рд╡рд░реНрдЧ рдпрд╛ рдЗрд╕рдХреЗ рд╡рдВрд╢рдЬреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЖрдк рдЙрдирдХреЗ рдкрд╛рд╕ рд╡реИрд╕реЗ рднреА рд╣реЛрдВрдЧреЗред рдпрд╣ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ 9 рд╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдиреАрдЪреЗ IE рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдмрд╕рдиреЗ / рдкрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреЗ рд╕рд╛рде рдСрдмреНрдЬреЗрдХреНрдЯ VBScript рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИ рдЬреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрдкрддреНрддрд┐ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдпрджрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИред
рд▓реЗрдХрд┐рди рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ ButtonClass рд╡рд░реНрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЧреБрдг рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕ рд╡рд░реНрдЧ рдФрд░ рдЗрд╕рдХреЗ рд╡рдВрд╢ рдХреЗ рд▓рд┐рдП рдмрд╕рдиреЗ рд╡рд╛рд▓реЗ / рдЧреЗрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдореИрдВ рдпрд╣ рднреА рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореВрд▓ рдЙрджрд╛рд╣рд░рдг рдЗрди рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рджреЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЗрди рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ classes.instanceOf рд╡рд┐рдзрд┐ рдХреЛ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЙрджрд╛рд╣рд░рдг рдЙрд╕ рд╡рд░реНрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рд╣рдорд╛рд░реЗ рдХреЙрд▓ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
alert( classes.instanceOf( superButton, classes.Debug ) )
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЙрди рд╕рднреА рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рдВрднрд╡рддрдГ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реЛрдВрдЧреЗ,
рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдЙрдирдХреА рдкрд╣рдЪрд╛рди рдирд╣реАрдВ рдХреА рдЧрдИ рдереАред
рдПрдХ рдЕрдЪреНрдЫреА рдХреНрд▓рд╛рд╕ рдмрд┐рд▓реНрдбрд┐рдВрдЧ, рд╢реБрднрдХрд╛рдордирд╛рдПрдБ рдФрд░ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреА рдЖрд▓реЛрдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдЖрдк рд▓рд┐рдВрдХ рдкрд░ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
http://code.spb-piksel.ru/?classes.latest.zipрдореИрдВ рдЗрд╕реЗ Github:
https://github.com/devote рдкрд░ рднреА рдкреЛрд╕реНрдЯ рдХрд░реВрдБрдЧрд╛ рдЬрд╣рд╛рдБ рдЖрдк рди рдХреЗрд╡рд▓ рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдореЗрд░реА рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рднреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
UPD: рдЬреИрд╕рд╛ рдХрд┐ рдЕрд╢реЛрдЯ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрд╡рд┐рд╖реНрдХреГрдд рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЙрди рд╕рднреА рд╕реЗ рдЕрд▓рдЧ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдПрдХреНрд╕реЗрд╕рд░реНрд╕ (рд╕реЗрдЯрд░ / рдЧреЗрдЯреНрдЯрд░) рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд░рдЦрддрд╛ рд╣реИред рдореБрдЭреЗ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдореЗрдВ рднреА рд╕рдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдПрдХреНрд╕реЗрд╕рд░реНрд╕ рди рдХреЗрд╡рд▓ рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ, рдмрд▓реНрдХрд┐ IE рдореЗрдВ рднреА 9 рд╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдиреАрдЪреЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореИрдВ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред