
рдЬреИрд╕рд╛
рдХрд┐ рдореАрдбрд┐рдпрд╛рд╡рд┐рдХрд┐ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкрдврд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ (1.16.x) рдХреА рд╡рд░реНрддрдорд╛рди рдкрдВрдХреНрддрд┐ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд jQuery рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдЖрддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдХреЛрдб
"рдЦрд╛рд▓ / рдЖрдо / jquery.min.js" рдкрд░ рд╕реНрдерд┐рдд рд╣реИред рдпрд╣ рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ jQuery рд╣реИ (1.3.2, рдлрд░рд╡рд░реА 2009 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛), рдЗрд╕рдХреЗ рдПрдХ рдХреАрдбрд╝реЗ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдкреИрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдпрд╣ рд╕рдВрдЧрддрддрд╛ рдореЛрдб
(" noConflict () ") рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣
$ $ рдХреЗ рдмрдЬрд╛рдп рдЪрд░ $ j рдореЗрдВ рдлрд┐рдЯ рд╣реЛ рдЬрд╛рдП
ред рдЗрд╕ jQuery рдХреЛрдб рдореЗрдВ рдХреЛрдИ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╕рд╛рд░ рд░реВрдк рдореЗрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ, рдХреЗрд╡рд▓ рдкреЗрдЬ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░ рд╣реА рдЬрдм MediaWiki рдХреЛрдб рдореЗрдВ
$ wgOut-> рд╢рд╛рдорд┐рд▓JJQuery () рд╡рд┐рдзрд┐ рдХрд╛ рдХреЙрд▓ рд╣реЛрддрд╛ рд╣реИ
ред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐
рдкреНрд░рдпреЛрдЬреНрдпрддрд╛ рдкрд╣рд▓ рдХреЗ
рдЕрдВрддрд░реНрдЧрдд "UsabilityInitiative.hooks.php" рдлрд╝рд╛рдЗрд▓ рдХреА рд▓рд╛рдЗрди 128 рдкрд░ рдРрд╕реА рд╣реА рдХреЙрд▓
рдЖрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП jQuery рдХреБрдЫ рдЦрд╛рд▓ (рдЬреИрд╕реЗ рд╡реЗрдХреНрдЯрд░) рдореЗрдВ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬрдм UsabilityInitiative рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд┐рдХрд┐ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИред
рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ
рд╡рд┐рдХреА рддрдХрдиреАрд╢рд┐рдпрди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд▓реЗрддреЗ
рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рдореАрдбрд┐рдпрд╛рд╡рд┐рдХрд┐ рд╕рд░реНрд╡рд░ рдХрд╛ рдкреНрд░рд╢рд╛рд╕рдХ, рдЬрд┐рд╕рдореЗрдВ рд╕реАрдзреА рдкрд╣реБрдВрдЪ рд╣реЛрддреА рд╣реИ (рдЬреИрд╕реЗ SSH) рдФрд░ рд╡рд┐рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ (LocalSettings.php), рд╡рд┐рдиреНрдбреЛрдЬрд╝реА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдкреБрдирдГ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЕрдиреНрдп рд╕рдорд╛рди рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХрд░реЗрдВред рдХрд┐рди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг
MediaWiki 1.16.x рд╡рд┐рдХреА рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕реНрдерд┐рддрд┐ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛
рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдЗрд╕ рдЖрдХрд╛рдВрдХреНрд╖рд╛ рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдореЗрдВ
рд╡рд┐рдХреА рддрдХрдиреАрдХ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ?
рдЗрд╕ рдЗрдЪреНрдЫрд╛ рдХрд╛ рдкрд╣рд▓рд╛ рдЖрд╡реЗрдЧ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдФрд░ рд▓рдЧрднрдЧ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рдмреЛрдз рд╣реИ рдХрд┐ рдкреЗрдЬ рдХреЛрдб рдореЗрдВ jQuery рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд┐рддрдиреА рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд░
рд╡рд┐рдХреА рддрдХрдиреАрд╢рд┐рдпрди, рдпрджрд┐ рдЙрд╕рдХреЗ рдкрд╛рд╕ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЕрд╡рдХрд╛рд╢ рд╣реИ, рддреЛ рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐
рдлрд╝рдВрдХреНрд╢рди $ рдХреА рд╕рд╛рджрдЧреА рдФрд░ рд╢рдХреНрддрд┐
( ... ) , рдЕрдЧрд░ рдпрд╣
рд╣рдореЗрд╢рд╛ рд╡рд┐рдХрд┐рд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреЙрдореНрдкреИрдХреНрдЯ
рдЬреЗрдПрд╕ рдХреЛрдб рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛ред рдкреВрд░реНрд╡ рдХреА рддреБрд▓рдирд╛ рдореЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
22 рдордИ, 2011 рдХреЗ "рдореАрдбрд┐рдпрд╛рд╡рд┐рдХрд┐: рдХреЙрдорди.рдЬреЗрдПрд╕" рдкреГрд╖реНрда рдХреЛ рд░реВрд╕реА рднрд╛рд╖рд╛ рдХреЗ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд▓реЗрдВред рдЗрд╕рдореЗрдВ рдпрд╣ рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб рдХреНрдпрд╛ рд╣реИ:
function editZeroSection(){ var body = document.getElementById('bodyContent') if (!body) return var h2s = body.getElementsByTagName('H2') var h2 = h2s[0] if (!h2) return if (h2.parentNode.id == 'toctitle') h2 = h2s[1] if (!h2) return var span = h2.firstChild if (!span || span.className != 'editsection') return var zero = span.cloneNode(true) body.insertBefore(zero, body.firstChild) var a = zero.getElementsByTagName('a')[0] if (a.href.indexOf('┬зion=T') == -1 ) a.title = a.title.replace(/:.*$/,': 0') else a.title = ' : 0' a.setAttribute('href', wgScript + '?title='+encodeURIComponent(wgPageName) + '&action=edit┬зion=0') }
рдХреЛрдИ рднреА jQuery рдкреНрд░рд╢рдВрд╕рдХ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣
рд╕реЗ getElementById () рдФрд░ getElementsByTagName () рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдХреБрдЫ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдФрд░ рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╕реЗ рдмрдЪрд╛рдПрдЧреАред рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВред рдПрдХ рдФрд░ рдРрд╕реА рд╡рд┐рдХреА рдирд╣реАрдВ: рд╕рдорд╛рди рдмреЛрдЭрд┐рд▓рддрд╛ рдХреЛ рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдХрд╣рддреЗ рд╣реИрдВ, "рдПрдмреНрд╕рд░реНрдбрдбреЛрдкреЗрдбрд┐рдпрд╛" рдХреЗ "рдореАрдбрд┐рдпрд╛рд╡рд┐рдХрд┐: рдХреЙрдорди.рдЬреЗрдПрд╕" рдкреГрд╖реНрда рдХреЗ
28 рдордИ 2011 рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ ред
рдорд╛рди рд▓реЗрдВ
рдХрд┐ рдПрдХ рд╡рд┐рдХреА рддрдХрдиреАрд╢рд┐рдпрди рдиреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдХрд┐
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдХреЗ рдФрд░ рд╕реНрдерд╛рдиреАрдпSettings.php рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдХреЛрдб рдЬреЛрдбрд╝рдХрд░ jQuery рдкреЗрдЬ рдХреЛрдб рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ:
// Include jQuery function wfIncludeJQuery() { global $wgOut; $wgOut->includeJQuery(); } $wgExtensionFunctions[] = 'wfIncludeJQuery';
рд╡рд┐рдХреА рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░ рдХреЗ рдкрд╛рд╕, "MediaWiki: Common.js" рдкреГрд╖реНрда рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рд╣реИрдВ, рдЬреЛ jQuery рдкрд░ рд╕реНрдерд╛рдиреАрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, addOnloadHook
( ... ) рдХреЗ рдмрдЬрд╛рдп
$ ( ... ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ , рдФрд░ рдЗрд╕реА рддрд░рд╣ред рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреМрди рд╕реЗ рджреЛ рдареЛрдХрд░ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рд╣реИ?
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЬрдм рдЖрдк jQuery рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ
рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреНрд░рдХрдЯ рдХрд░реЗрдЧрд╛
1.3.2 (рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ) рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рдкрд╣рд▓реЗ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ -
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдлрд░рд╡рд░реА 2009 рдореЗрдВ ред рд╣рдмрд░рд╛рдмреНрд░рд┐рдЬ
jQuery рдмреНрд▓реЙрдЧ рдХреЗ рдирд┐рдпрдорд┐рдд рдкрд╛рдардХреЛрдВ рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ 2 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХрд┐рддрдирд╛ рдорд╣рд╛рди рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░рд╣рд╛ рд╣реИ; рдмрд╛рдХреА рд╕рднреА рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХреЗрд╡рд▓ рд╕рдВрд╕реНрдХрд░рдг рез.рек.рей рдореЗрдВ
рдПрдиреАрдореЗрд╢рди рддреНрд╡рд░рдг рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрддрд╛ рд╣реВрдБ
, рд╕рдВрд╕реНрдХрд░рдг рез.рел рдореЗрдВ рдирдП
рдЖрд╕реНрдердЧрд┐рдд рдЗрдВрдЯрд░рдлреЗрд╕
([ рез ], [ реи ]) , рд╕рдВрд╕реНрдХрд░рдг рез.рел.рез рдореЗрдВ
IE9 рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рдорд░реНрдерди ... рдФрд░
резрек рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рез.рек рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиред рд╕реЗрдЯ рд╣реЛ рдЧрдпрд╛ред
рджреВрд╕рд░реЗ, рдореМрдЬреВрджрд╛ рд▓рд┐рдкрд┐рдпреЛрдВ
рдХреЛ рдПрдХ jQ- рдЖрдзрд╛рд░рд┐рдд рдврд╛рдВрдЪреЗ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реЛ рд░рд╣рд╛ рд╣реИ
, рд╡рд┐рдХреА рдкреНрд░рд╢рд╛рд╕рдХ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВрдЧреЗ рдХрд┐ рдСрдЯреЛрдореЗрд╢рди (рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ) рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рд╣реИрдВред рдпрд╣ рд▓рдЧрднрдЧ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рд╣реИ рдХрд┐ рд╡реЗ jQuery рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рднрдпрд╛рдирдХ рдЙрдкрдХрд░рдг рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ рдЬреЛ рдХреБрдЫ рд╣реА рд╕рдордп рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг, рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рд╕реБрдзрд╛рд░ рдХреЗ рд╕рд╛рде рд╕рд╛рдЗрдЯ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рд╡рд┐рдзрд┐ ("рдХреЙрдкреА-рдкреЗрд╕реНрдЯ") рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╕
jQuery.ScrollTo рдФрд░ jQuery.LocalScroll рдЬреЛрдбрд╝реЗрдВ
- рдФрд░ рддреБрд░рдВрдд
рд╕рднреА рдЗрди-рдкреЗрдЬ рд╣рд╛рдЗрдкрд░рд▓рд┐рдВрдХ
рддреБрд░рдВрдд рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢рд╛рдирджрд╛рд░ рдкреЗрдЬ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдПрдирд┐рдореЗрд╢рди рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
$(function(){ $.localScroll({ hash: true, onAfter: function(target){ location = '#' + ( target.id || target.name ); } }); });
рдореАрдбрд┐рдпрд╛рд╡рд┐рдХрд┐ рдЗрдВрдЬрди рд╡рд┐рдХреА рдХреЗ рд▓рд┐рдП, рд╕рд╛рдордЧреНрд░реА рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХрд╛ рд╕реБрдзрд╛рд░ рдЕрдореВрд▓реНрдп рд╣реИред
рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ: рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдХреЛрд░реНрд╕ рдПрдХ рдлрд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
рд╡рд┐рдХреА рдкрд░ рдЬреЛрд░ рджреЗ рд░рд╣рд╛ рд╣реИ (рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд,
рдПрдХ рдлрд╝рд╛рдЗрд▓ рддрд╛рдХрд┐ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рд╕рдордп рдмрд░реНрдмрд╛рдж рди рд╣реЛ), рдЬрд┐рд╕рдореЗрдВ jQuery рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рднреА рд╡рд╛рдВрдЫрд┐рдд рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред ред рдХреНрдпрд╛
рдЦрд╛рд▓ / рдЖрдо / jquery.min.js рдРрд╕реА рдлрд╝рд╛рдЗрд▓ рдХреА рднреВрдорд┐рдХрд╛ рдХреЗ
рдЕрдиреБрд░реВрдк рд╣реЛрдЧреА? рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рджреЛ рдХрд╛рд░рдгреЛрдВ рд╕реЗред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ , MediaWiki рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рд╕рдВрдХреНрд░рдордг (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 1.16.x рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг
1.16.x + 1 рддрдХ) рдореЗрдВ рдкреБрд░рд╛рдиреА рдкрд░ рдирдИ рдлрд╛рдЗрд▓реЗрдВ рд▓рд┐рдЦрдирд╛
рд╢рд╛рдорд┐рд▓ рд╣реИ - рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдереЛрдбрд╝реА рд╕реА рд▓рд╛рдкрд░рд╡рд╛рд╣реА рд╕реЗ рдлрд╛рдЗрд▓ рдХреА
рдЦрд╛рд▓ / рдЖрдо рд╣реЛ рд╕рдХрддреА рд╣реИред
/jquery.min.js тАЭ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕реЗ рдореАрдбрд┐рдпрд╛рд╡рд┐рдХрд┐ (1.3.2, рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рдмрд┐рдирд╛) рдХреЗ рд╕рд╛рде jQuery рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рджреВрд╕рд░реА рдмрд╛рдд, рд╡рд┐рдХреА рддрдХрдиреАрдХ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП jQuery рдФрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд╕реМрдВрдкрдирд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рддрд░реНрдХрд╕рдВрдЧрдд
рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ
рд▓рд┐рдП рд╡рд┐рдХреА рд╕рд░реНрд╡рд░ рддрдХ рд╕реАрдзреА рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
, рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рдЕрдиреНрдп MediaWiki javascripts (рдЬреИрд╕реЗ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд "MediaSiki: Common.js", рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) ) рдХреЛрдИ рднреА рдкреНрд░рд╢рд╛рд╕рдХ рд╡рд┐рдХреА рдХреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдФрд░ рд╕рдВрдкрд╛рджрди рдХреЗ рдЕрдВрддрд░ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд╕рд╛рде рд╕реБрд╕рдЬреНрдЬрд┐рдд рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рддрд╛рд░реНрдХрд┐рдХ рдФрд░ jQuery рдХреЗ рд╕рд╛рде рд╣реЛрдЧрд╛, рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕рд╛рде рдЬреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдХреА рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рд╣реИрдВ, "MediaWiki: jQuery.js" рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдкреГрд╖реНрда рдкрд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рд╢рд╛рдВрддред
рдХреНрдпрд╛ рдРрд╕рд╛ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ? рд╣рд╛рдБ, рдХрд╛рдлреА рдкреНрд░рд╛рдкреНрдд; рдЗрд╕рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рдХреЛ "LocalSettings.php" рд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рдЙрд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЙрд╕ рдХреЛрдб рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ
JJQuery () рд╡рд┐рдзрд┐ рдЬреЛ рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдореЗрдВ рд╡рд╣рд╛рдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ - рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдРрд╕реЗ MediaWiki рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкрд░ рдХреЙрд▓ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдЬреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛ "MediaWiki: jQuery.js" , рд╣рд╛рдБ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ
" рдХреЙрд▓
/ рдХреЙрдиреНрд╕ / рдХреЙрдорди / jquery.min.js" рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХреЛ
рдХрд╛рдЯреВрдВрдЧрд╛ , рдЕрдЧрд░ рдЗрд╕рдореЗрдВ рдХреЙрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИ рддреЛ
JJQuery () рд╡рд┐рдзрд┐ рдЕрднреА рднреА
рдХреБрдЫ рдЕрдиреНрдп рдПрдХреНрд╕рдЯреЗрдВрд╢рди
рд╕реЗ рдЖрддреА
рд╣реИ ред
рдРрд╕реЗ рдореАрдбрд┐рдпрд╛рд╡рд┐рдХрд┐ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛрдб рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдХреА рдкреЗрдЬ рдкрд░ "MediaWiki: jQuery.js" рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдЧрд╛, рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ (рдЗрд╕рдХрд╛ рдХреЛрдб) рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ (рдПрдордЖрдИрдЯреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╕рд╣рд┐рдд):
<?php # Confirm MW environment if (defined('MEDIAWIKI')) { # Credits $wgExtensionCredits['other'][] = array( 'name' => 'jQuery', 'author' => 'Mithgol the Webmaster', 'url' => 'http://traditio.ru/wiki/JQuery_%D0%B4%D0%BB%D1%8F_MediaWiki', 'description' => 'Adds jQuery to the list of scripts (HEAD element).', 'version' => '0.2' ); function jQueryMyHook( &$output, &$skin ) { $output->mScripts = "\t\t". '<script type="text/javascript" src="/w/index.php?title=MediaWiki:jQuery.js&action=raw&ctype=text/javascript"></script>'. "\n" . preg_replace('/<script src="\/w\/skins\/common\/jquery\.min\.js\?\d+"><\/script>/', '<!-- jQuery double, erased -->', $output->mScripts); return true; } $wgHooks['BeforePageDisplay'][] = 'jQueryMyHook'; } # End MW Environment wrapper ?>
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХрд╛рдЯрдиреЗ рдХреА рдлрд╛рдЗрд▓
"рдЦрд╛рд▓ / рдЖрдо / jquery.min.js" рдореАрдбрд┐рдпрд╛рд┐рдХреА рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреА рд╣реИ
"?" рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ URL рдкрд░
рдПрдХ рдирдВрдмрд░ ред
"MediaWiki: jQuery.js" рдлрд╝рд╛рдЗрд▓ рдХреЛ рднрд░рддреЗ рд╕рдордп, jQuery рдирд╛рдо рдкреНрд░рд╛рд░реВрдк рдореЗрдВ
"рдЦрд╛рд▓ / рдЖрдо / jquery.min.js" рдХреЗ
рд╕рд╛рде рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИред рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП, "MediaWiki: jQuery.js" рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рдбрд╛рд▓рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:
/* MediaWiki: * 1) /skins/common/edit.js * 2) /skins/common/preview.js * , jQuery $j. * : */ $j=$;
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░реНрдпрд╛рдпрд╡рд╛рдЪреА рдХреЛ jQuery рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛрдб рдХреЗ рдмрд╛рдж рд╣реА рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рд╕реНрддрд╛рд░ рдХреЛ 2010 рдореЗрдВ рд░реВрд╕реА
рд╡рд┐рдХрд┐-рдПрдирд╕рд╛рдЗрдХреНрд▓реЛрдкреАрдбрд┐рдпрд╛ "рдкрд░рдВрдкрд░рд╛" рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЗрд╕рдХреА рдЙрдкрдпреБрдХреНрддрддрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдмрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рд▓рд┐рдкрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдХреБрдЫ рд╕реБрдзрд╛рд░ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдЬреЛ MediaWiki рдореЗрдВ jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ, рд╡рд╣ Habrahabr рдкрд░ рд╢рд╛рдпрдж рдЕрд▓рдЧ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реА рд╡рд░реНрддрдорд╛рди рдХрд╣рд╛рдиреА рдЦрддреНрдо рд╣реЛ рдЧрдИ рд╣реИред