<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://ejwiki.org/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3APreview.js</id>
	<title>MediaWiki:Preview.js - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://ejwiki.org/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3APreview.js"/>
	<link rel="alternate" type="text/html" href="https://ejwiki.org/index.php?title=MediaWiki:Preview.js&amp;action=history"/>
	<updated>2026-05-16T03:32:25Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://ejwiki.org/index.php?title=MediaWiki:Preview.js&amp;diff=388378&amp;oldid=prev</id>
		<title>Mliris: 1 версия</title>
		<link rel="alternate" type="text/html" href="https://ejwiki.org/index.php?title=MediaWiki:Preview.js&amp;diff=388378&amp;oldid=prev"/>
		<updated>2010-03-11T07:42:52Z</updated>

		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 07:42, 11 марта 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Mliris</name></author>
	</entry>
	<entry>
		<id>https://ejwiki.org/index.php?title=MediaWiki:Preview.js&amp;diff=25675&amp;oldid=prev</id>
		<title>Ariely: переименовал «MediaWiki:Gadget-preview.js» в «MediaWiki:Preview.js»</title>
		<link rel="alternate" type="text/html" href="https://ejwiki.org/index.php?title=MediaWiki:Preview.js&amp;diff=25675&amp;oldid=prev"/>
		<updated>2010-02-28T08:10:06Z</updated>

		<summary type="html">&lt;p&gt;переименовал «&lt;a href=&quot;/index.php/MediaWiki:Gadget-preview.js&quot; title=&quot;MediaWiki:Gadget-preview.js&quot;&gt;MediaWiki:Gadget-preview.js&lt;/a&gt;» в «&lt;a href=&quot;/index.php/MediaWiki:Preview.js&quot; title=&quot;MediaWiki:Preview.js&quot;&gt;MediaWiki:Preview.js&lt;/a&gt;»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;function ajaxPreviewInit(){&lt;br /&gt;
 if ((wgNamespaceNumber % 2 == 0) &amp;amp;&amp;amp; /\.(js|css)$/.test(wgTitle)) return&lt;br /&gt;
 if (typeof ajaxPreviewKey != &amp;#039;string&amp;#039;) ajaxPreviewKey = &amp;#039;p&amp;#039;&lt;br /&gt;
 if (typeof ajaxDiffKey != &amp;#039;string&amp;#039;) ajaxDiffKey  = &amp;#039;v&amp;#039;&lt;br /&gt;
 ajaxPreviewPos = window.ajaxPreviewPos || &amp;#039;right&amp;#039;&lt;br /&gt;
 if (ajaxPreviewPos != &amp;#039;bottom&amp;#039;){&lt;br /&gt;
   var tOld = document.getElementById(&amp;#039;toolbar&amp;#039;) || document.getElementById(&amp;#039;wpTextbox1&amp;#039;)&lt;br /&gt;
   tOld.style.clear = &amp;#039;none&amp;#039;&lt;br /&gt;
   var d = document.createElement(&amp;#039;div&amp;#039;); d.style.cssText = &amp;#039;width:100%; clear:both&amp;#039;&lt;br /&gt;
   tOld.parentNode.insertBefore(d, tOld)&lt;br /&gt;
   var tNew = document.createElement(&amp;#039;div&amp;#039;); tNew.style.cssText = &amp;#039;float:&amp;#039;+ ajaxPreviewPos&lt;br /&gt;
   tOld.parentNode.insertBefore(tNew, tOld)&lt;br /&gt;
 }&lt;br /&gt;
 addBtn(window.ajaxPreviewButton, &amp;#039;wpPreview&amp;#039;, ajaxPreviewKey)&lt;br /&gt;
 addBtn(window.ajaxDiffButton, &amp;#039;wpDiff&amp;#039;, ajaxDiffKey)&lt;br /&gt;
 function addBtn(name, id, akey){ &lt;br /&gt;
  var btnOld = document.getElementById(id)&lt;br /&gt;
  if (!btnOld) return&lt;br /&gt;
  //var&lt;br /&gt;
  btn = document.createElement(&amp;#039;input&amp;#039;); btn.type = &amp;#039;button&amp;#039;&lt;br /&gt;
  btn.onclick = ajaxPreviewClick;  btn.id = id + &amp;#039;Live&amp;#039;&lt;br /&gt;
  if (!name){ //extract last word from standard buttons&lt;br /&gt;
    name = btnOld.value.split(&amp;#039; &amp;#039;); name = name[name.length-1]&lt;br /&gt;
    name = name.substring(0,1).toUpperCase() + name.substring(1) &lt;br /&gt;
  }&lt;br /&gt;
  btn.value = name;  btn.title = btnOld.value + &amp;#039; (Ajax)&amp;#039;&lt;br /&gt;
  if (ajaxPreviewPos == &amp;#039;bottom&amp;#039;){&lt;br /&gt;
    btnOld.parentNode.insertBefore(btn, btnOld)&lt;br /&gt;
    btn.value = btnOld.value&lt;br /&gt;
    btnOld.value = &amp;#039;&amp;gt;&amp;#039;&lt;br /&gt;
  }else{&lt;br /&gt;
    btn.style.cssText = &amp;#039;height:22px; padding:0 1px&amp;#039;&lt;br /&gt;
    tNew.appendChild(btn)&lt;br /&gt;
  }&lt;br /&gt;
  if (akey){ //reassign acces key&lt;br /&gt;
    if (btnOld.accessKey == akey){ &lt;br /&gt;
      btnOld.accessKey = &amp;#039;&amp;#039;&lt;br /&gt;
	  //btnOld.setAttribute(&amp;#039;accesskey&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
      btnOld.title = btnOld.title.replace(tooltipAccessKeyRegexp, &amp;#039;&amp;#039;)&lt;br /&gt;
    }&lt;br /&gt;
    //btn.setAttribute(&amp;#039;accesskey&amp;#039;, akey)&lt;br /&gt;
	btn.accessKey = akey&lt;br /&gt;
    btn.title += &amp;#039; [&amp;#039;+tooltipAccessKeyPrefix+akey+&amp;#039;]&amp;#039;&lt;br /&gt;
  }&lt;br /&gt;
  btn.value2 = btn.value&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function ajaxPreviewClick(){ajaxPreviewRun(this)}&lt;br /&gt;
&lt;br /&gt;
function ajaxPreviewRun(btn){&lt;br /&gt;
 var wkPreview = document.getElementById(&amp;#039;wikiPreview&amp;#039;), form = document.editform&lt;br /&gt;
 var aj = sajax_init_object()&lt;br /&gt;
 if (!wkPreview || !form || !aj) return&lt;br /&gt;
 var oldHeight = wkPreview.offsetHeight&lt;br /&gt;
 var el, htm, isDiff = (btn.id==&amp;#039;wpDiffLive&amp;#039;)&lt;br /&gt;
 wkPreview.style.opacity = &amp;#039;0.3&amp;#039;; wkPreview.style.color = &amp;#039;gray&amp;#039;; document.body.style.cursor = &amp;#039;wait&amp;#039;&lt;br /&gt;
 if (el=document.getElementById(&amp;#039;wikiDiff&amp;#039;)) el.style.display = &amp;#039;none&amp;#039;&lt;br /&gt;
 if (el=document.getElementById(&amp;#039;newarticletext&amp;#039;)) el.style.display = &amp;#039;none&amp;#039;&lt;br /&gt;
 btn.style.width = Math.max(btn.scrollWidth, btn.offsetWidth) + &amp;#039;px&amp;#039;;  btn.value = &amp;#039;...&amp;#039;&lt;br /&gt;
 //prepare&lt;br /&gt;
 var txt = form.wpTextbox1.value, action = form.action&lt;br /&gt;
 var boundary = &amp;#039;--------123xyz&amp;#039;, data = &amp;#039;&amp;#039;&lt;br /&gt;
 if (isDiff){&lt;br /&gt;
   addData(&amp;#039;wpDiff&amp;#039;, &amp;#039;&amp;#039;); addData(&amp;#039;wpStarttime&amp;#039;); addData(&amp;#039;wpEdittime&amp;#039;)&lt;br /&gt;
   if (!window.ajaxPreview_CSS) ajaxPreview_CSS = importStylesheetURI(&amp;#039;/skins-1.5/common/diff.css&amp;#039;) &lt;br /&gt;
 }else{&lt;br /&gt;
   action += &amp;#039;&amp;amp;live&amp;#039;&lt;br /&gt;
   if (form.wpSection &amp;amp;&amp;amp; form.wpSection.value) txt += &amp;#039;\n&amp;lt;br /&amp;gt;&amp;lt;references /&amp;gt;&amp;#039;&lt;br /&gt;
 } &lt;br /&gt;
 addData(&amp;#039;wpTextbox1&amp;#039;, txt); addData(&amp;#039;wpSection&amp;#039;); addData(&amp;#039;wpSummary&amp;#039;)&lt;br /&gt;
 //send&lt;br /&gt;
 aj.open(&amp;#039;POST&amp;#039;, action, true)&lt;br /&gt;
 aj.setRequestHeader(&amp;#039;Content-Type&amp;#039;, &amp;#039;multipart/form-data; boundary=&amp;#039;+boundary)&lt;br /&gt;
 aj.send(data + &amp;#039;--&amp;#039; + boundary)&lt;br /&gt;
 aj.onreadystatechange = function(){&lt;br /&gt;
  if (aj.readyState != 4) return&lt;br /&gt;
  zzh = aj.responseText // !!!&lt;br /&gt;
  wkPreview.style.display = &amp;#039;block&amp;#039;&lt;br /&gt;
  if (isDiff){&lt;br /&gt;
    var htm = aj.responseText&lt;br /&gt;
    var p1 = htm.indexOf(&amp;quot;&amp;lt;table class=&amp;#039;diff&amp;#039;&amp;gt;&amp;quot; )&lt;br /&gt;
    var p2 = htm.indexOf(&amp;#039;&amp;lt;/table&amp;gt;&amp;#039;, p1)&lt;br /&gt;
    htm = (p1!=-1 &amp;amp;&amp;amp; p2!=-1) ? htm.substring(p1, p2+8) : &amp;#039;Error&amp;#039;&lt;br /&gt;
  }else{&lt;br /&gt;
    htm = aj.responseText.replace(/&amp;amp;gt;/g,&amp;#039;&amp;gt;&amp;#039;).replace(/&amp;amp;lt;/g,&amp;#039;&amp;lt;&amp;#039;).replace(/&amp;amp;quot;/g,&amp;#039;&amp;quot;&amp;#039;).replace(/&amp;amp;amp;/g,&amp;#039;&amp;amp;&amp;#039;).replace(/&amp;amp;apos;/g,&amp;quot;&amp;#039;&amp;quot;)&lt;br /&gt;
  }&lt;br /&gt;
  wkPreview.innerHTML = htm&lt;br /&gt;
  btn.value = btn.value2&lt;br /&gt;
&lt;br /&gt;
  if (el = wkPreview.getElementsByTagName(&amp;#039;h2&amp;#039;)[0]){&lt;br /&gt;
    if (el.style.textAlign != &amp;#039;right&amp;#039;) el.innerHML +=  &amp;#039; (Ajax)&amp;#039;&lt;br /&gt;
    el.style.textAlign = &amp;#039;right&amp;#039;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (window.ajaxPreviewScrollTop &amp;amp;&amp;amp; wkPreview.scrollIntoView) wkPreview.scrollIntoView()&lt;br /&gt;
  else document.documentElement.scrollTop +=  wkPreview.offsetHeight - oldHeight &lt;br /&gt;
&lt;br /&gt;
  wkPreview.style.opacity = &amp;#039;&amp;#039;; wkPreview.style.color = &amp;#039;&amp;#039;; document.body.style.cursor = &amp;#039;&amp;#039;&lt;br /&gt;
  if (!isDiff) ajaxPreviewFinish(wkPreview)&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 function addData(name, value){&lt;br /&gt;
   if (!value) value = form[name] ? form[name].value : &amp;#039;&amp;#039;&lt;br /&gt;
   data += &amp;#039;--&amp;#039; + boundary + &amp;#039;\nContent-Disposition: form-data; name=&amp;quot;&amp;#039;+name+&amp;#039;&amp;quot;\n\n&amp;#039; + value + &amp;#039;\n&amp;#039;&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function ajaxPreviewFinish(el){&lt;br /&gt;
 collapsibleDivs()&lt;br /&gt;
 collapsibleTables()&lt;br /&gt;
 sortables_init()&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if (wgAction==&amp;#039;edit&amp;#039; || wgAction==&amp;#039;submit&amp;#039;) addOnloadHook(ajaxPreviewInit)&lt;/div&gt;</summary>
		<author><name>Ariely</name></author>
	</entry>
</feed>