<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
        <channel>
        <title>javascript / Tag search / Русский клуб Joomla</title>
        <link>http://joomclub.net/en/rss/tag/javascript/</link>
        <description><![CDATA[Сайт посвящен Joomla во всех ее проявлениях, мы рассказываем о шаблонах, расширениях, компонентах, плагинах и модулях]]></description>
        <language>ru</language>
        <managingEditor>tena2000@mail.ru</managingEditor>
        <webMaster>tena2000@mail.ru</webMaster>
        <generator>Alto CMS v.1.1.13</generator>
                    <item>
                <title>Отправка формы с файлом без перезагрузки страницы (ajax jQuery).</title>
                <guid isPermaLink="true">http://joomclub.net/en/t/103/</guid>
                <link>http://joomclub.net/en/blog/programming/103.html</link>
                <author>a.sedelnikov@gmail.com</author>
                <description><![CDATA[<p>На одном из проектов мне потребовалось сделать отправку формы, содержащей файл,  посредством ajax. Напрямую эта задача не решается, по этому пришлось делать двойную загрузку: сначала происходит загрузка файла, результат загрузки сообщается скрипту и скрипт движется дальше, отправляя саму форму.</p><p>Код формы может быть любой, например такой:</p>&lt;div <a name="cut" rel="nofollow"></a> &gt;<pre class="prettyprint"><code>&lt;form action=&quot;#&quot; class=&quot;vacancy_form&quot;&gt; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&lt;input type=&quot;text&quot; name=&quot;l_name&quot; class=&quot;a-name&quot; data-validate=&quot;validate(required)&quot;&gt; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&lt;input type=&quot;text&quot; name=&quot;f_name&quot; class=&quot;b-name&quot; data-validate=&quot;validate(required)&quot;&gt; <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;input type=&quot;file&quot; name=&quot;resume&quot; data-validate=&quot;validate(required)&quot;&gt; <br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;button class=&quot;btn yel_btn&quot;&gt;Откликнуться&lt;/button&gt; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;input type=&quot;hidden&quot; name=&quot;filename&quot; value=&quot;&quot;/&gt; <br />&lt;/form&gt; </code></pre><p>Скрипт:</p><p><pre class="prettyprint"><code>var iframe = $('&lt;iframe id=&quot;upload_iframe&quot; name=&quot;upload_iframe&quot; style=&quot;width:0;height:0;border:0;&quot;&gt;&lt;/iframe&gt;'); <br />&nbsp; &nbsp; &nbsp; &nbsp; var hidForm = $('&lt;form style=&quot;display:none;&quot; target=&quot;upload_iframe&quot; enctype=&quot;multipart/form-data&quot; action=&quot;/ajax/?function=upload_file&quot; method=&quot;post&quot; name=&quot;upload-form&quot;/&gt;'); <br />&nbsp; &nbsp; &nbsp; &nbsp; $('body').append(iframe).append(hidForm); <br />&nbsp; &nbsp; &nbsp; &nbsp; iframe.load(function(){ <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var data = $(this).contents().text(); <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (data === undefined || data == '') return; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; iframe.remove(); <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hidForm.remove(); <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; data = JSON.parse(data); <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (data.error == '1') <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; alert(data.content); <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; form.find('input[name=filename]').val(data.file); <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $.ajax({ <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; url: '/ajax/?function=vacancy', <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; type: &quot;POST&quot;, <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dataType:&quot;json&quot;, <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; data: form.serialize(), <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; success: function(data){ <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ... <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }); <br />&nbsp; &nbsp; &nbsp; &nbsp; }); <br />&nbsp; &nbsp; &nbsp; &nbsp; var realFile = form.find('input[name=resume]'), <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; realFileVal = realFile.val(), <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; realFile = form.find('input[name=resume]'), <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; newFile = realFile.clone(); <br />&nbsp; &nbsp; &nbsp; &nbsp; realFile.replaceWith(newFile); <br />&nbsp; &nbsp; &nbsp; &nbsp; hidForm.append(realFile).val(realFileVal); <br />&nbsp; &nbsp; &nbsp; &nbsp; hidForm.submit(); </code></pre><br>
</p><p>Скрипт был почерпнут на просторвх интернета и переделан под свои нужды. Скрипт создает ифрейм и дополнительную форму чтобы не маяться с передачей атрибутов в основную форму. Вспомогательная форма берет из основной инпут файла с его значением, отправляет на сервер строкой hidForm.submit();. После загрузки файла вступает событие  iframe.load, в которое сервер передает информацию о загрузке файла и путь до загруженного файла на сервере, Далее полученный путь прописывается в input[name=filename] и происходит передача основной формы через  $.ajax. На выходе получаем загруженный файл и переданную форму.</p>]]></description>
                <pubDate>Thu, 30 May 2013 13:19:46 +0400</pubDate>
                            </item>
                    <item>
                <title>Смена action в form средствами jquery</title>
                <guid isPermaLink="true">http://joomclub.net/en/t/60/</guid>
                <link>http://joomclub.net/en/blog/60.html</link>
                <author>dron79-79@yandex.ru</author>
                <description><![CDATA[<p> Работая над написанием собственной системы управления заказами, столкнулся с необходимостью отправлять данные формы на разные URL в зависимости от того какая кнопка нажата. Так как мой движок все равно использует jquery, то решил что для этой задачи рационально его и использовать.</p>

<a name="cut" rel="nofollow"></a> 
<pre class="prettyprint"><code>&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; dir=&quot;ltr&quot; lang=&quot;ru-ru&quot; xml:lang=&quot;ru-ru&quot;&gt;
 &nbsp; &nbsp; &lt;head&gt;
 &nbsp; &nbsp; &nbsp; &nbsp; .&nbsp; .&nbsp; .
 &nbsp; &nbsp; &nbsp; &lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot; src=&quot;/js/jquery-1.8.2.min.js&quot;&gt;&lt;/script&gt;
 &nbsp; &lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot; &gt;
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; function sb(ev){
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var urlf=&quot;index.php?com=u&amp;z=list&quot;;
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (ev==&quot;apply&quot;) {
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; urlf=&quot;index.php?com=u&amp;z=add&amp;a=apply&quot;;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (ev==&quot;save&quot;) {
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; urlf=&quot;index.php?com=u&amp;z=add&amp;a=save&quot;;&nbsp; &nbsp;
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $(&quot;#adminForm&quot;).attr(&quot;action&quot;,urlf);&nbsp; //заменяем в форме атрибут action
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $(&quot;#adminForm&quot;).submit();&nbsp; //отправляем форму
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }
   &nbsp; &lt;/script&gt;
 &nbsp; &lt;/head&gt;
&nbsp; &lt;body&gt;
           ...
&nbsp; &lt;span id=&quot;apply&quot;&nbsp; onclick=&quot;javascript: sb('apply')&quot; &gt;Применить &lt;/span&gt;
&nbsp; &lt;span id=&quot;save&quot;&nbsp; onclick=&quot;javascript: sb('save')&quot; &gt;Сохранить &lt;/span&gt;
            .....
 &nbsp; &lt;form name=&quot;adminForm&quot; method=&quot;post&quot; action=&quot;index.php&quot; id =&quot;adminForm&quot;&gt;
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .... 
 &nbsp; &lt;/form&gt;
 &nbsp; &lt;/body&gt;
 &lt;/html&gt;</code></pre>

<p>Код не сложный, но свои функции выполняет. Если кто знает более короткое решение, то буду рад с ним ознакомится.</p>]]></description>
                <pubDate>Sun, 07 Oct 2012 21:07:23 +0400</pubDate>
                            </item>
                    <item>
                <title>Отключение скриптов  mootools на уровне шаблона</title>
                <guid isPermaLink="true">http://joomclub.net/en/t/32/</guid>
                <link>http://joomclub.net/en/blog/joomla25/32.html</link>
                <author>dron79-79@yandex.ru</author>
                <description><![CDATA[<p>Поговорим немного о том, как облегчить вывод страниц сайта на Joomla 2.5. Ни для кого не открою секрета, что в погоне за универсализацией, разработчики Joomla подгружают на все страницы сайта фреймворк Mootools. Не будем обсуждать решения разработчиков, скажу только, что это не всегда оправдано, прежде всего в плане соотношения Функционал/скорость загрузки страницы.</p>
<p>Но у нас есть все возможности, чтобы самим решать, на каких страницах сайта использовать данный фреймворк, а на каких нет.<br>
 Решается данный вопрос на уровне шаблона. Ну что же, приступим к препарации нашего шаблона. <a name="cut" rel="nofollow"></a> <strong>Предупреждение, перед всеми изменениями, необходимо сделать резервную копию вашего шаблона.</strong></p>
<p><strong><br>
</strong>Вносить изменения будем в файл templates\имя_шаблона\index.php</p>
<p>Для того что бы выяснить какие переменные содержит объект нашего шаблона после строчки <pre class="prettyprint"><code>defined('_JEXEC') or die;</code></pre>добавим строку </p>
<p><pre class="prettyprint"><code>print_r($this);</code></pre>В результате мы увидим структуру объекта, состоящую из массивов, с переменными вашего шаблона, весь вывод приводить не буду, кому интересно сами попробуют, приведу только то что нам пригодится для работы.</p>
<p> <pre class="prettyprint"><code>JDocumentHTML Object<br />(<br />&nbsp;&nbsp;&nbsp; ...<br />&nbsp;&nbsp;&nbsp; [_scripts] =&gt; Array<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [/media/system/js/mootools-core.js] =&gt; Array<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [mime] =&gt; text/javascript<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [defer] =&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [async] =&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [/media/system/js/core.js] =&gt; Array<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [mime] =&gt; text/javascript<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [defer] =&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [async] =&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [/media/system/js/caption.js] =&gt; Array<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [mime] =&gt; text/javascript<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [defer] =&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [async] =&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [/media/system/js/mootools-more.js] =&gt; Array<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [mime] =&gt; text/javascript<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [defer] =&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [async] =&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br />&nbsp;&nbsp;&nbsp; [_script] =&gt; Array<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [text/javascript] =&gt; window.addEvent('load', function() {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; new JCaption('img.caption');<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; });<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br />&nbsp;&nbsp;&nbsp; ...<br />)</code></pre></p>
<p>Теперь, когда мы знаем имена нужных нам переменных нашего шаблона, произведем действия, по обеспечению вывода всего этого богатства только там где это требуется или другими словами вырежем на тех страницах где он не нужен.<br>
<br>
</p>
<p>Когда нам может погрузка этих скриптов? На ум приходит создание нового материала или редактирование существующего. Сделаем в шаблоне проверку на эти условия.</p>
<p> <pre class="prettyprint"><code>$view = JRequest::getVar('view', null, 'get', 'word');<br />$layout = JRequest::getVar('layout', null, 'get', 'word');<br />if (!(($view=='form')and($layout='edit'))) {<br />&nbsp;&nbsp;&nbsp; //выполняем код по ограничению вывода mootools<br />&nbsp;&nbsp;&nbsp; if (isset($this-&gt;_scripts)and(count($this-&gt;_scripts))){<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; foreach ($this-&gt;_scripts as $key =&gt; $value) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (preg_match(&quot;/media\/system\/js/i&quot;, $key)) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; unset ($this-&gt;_scripts[$key]);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; //вырезаем строку&nbsp; window.addEvent('load', function() { new JCaption('img.caption');&nbsp;&nbsp;&nbsp; });<br />&nbsp;&nbsp;&nbsp; if (isset($this-&gt;_script)and(count($this-&gt;_script))){<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; preg_match(&quot;/window\.addEvent\('load',\sfunction\(\)\s\{[\s]*new\sJCaption\('img\.caption'\);[\s]*\}\);/iU&quot;, $this-&gt;_script['text/javascript'],$match);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (isset($match[0])) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $this-&gt;_script['text/javascript']=str_replace($match[0],'',$this-&gt;_script['text/javascript']);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //вырезаем тултип<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; preg_match(&quot;/window\.addEvent\('domready',\sfunction\(\)\s\{[\s]*[$]+\('\.hasTip'\)\.each\(function\(el\)\s\{[\s]*var\stitle\s=\sel\.get\('title'\);[\s]*if\s\(title\)\s\{[\s]*var\sparts\s=\stitle\.split\('::', 2\);[\s]*el\.store\('tip:title',\sparts\[0\]\);[\s]*el\.store\('tip:text',\sparts\[1\]\);[\s]*\}[\s]*\}\);[\s]*var\sJTooltips\s=\snew\sTips\([$]+\('\.hasTip'\),\s\{\smaxTitleChars:\s50,\sfixed:\sfalse\}\);[\s]*\}\);/iU&quot;, $this-&gt;_script['text/javascript'],$match2);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (isset($match2[0])) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $this-&gt;_script['text/javascript']=str_replace($match2[0],'',$this-&gt;_script['text/javascript']);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; }<br />}</code></pre>Почему я не стал обнулять объекты _scripts и _scripts, а сделал по ним поиск, да потому что на страницах могут быть установлены компонент или модули использующие свои скрипты, без которых страница будет отображаться не корректно.</p>
<p>Для тех, кто хочет добиться полного уничтожения всех скриптов на страницах своего сайта, код будет следующим:</p>
<p><pre class="prettyprint"><code>$view = JRequest::getVar('view', null, 'get', 'word');<br />$layout = JRequest::getVar('layout', null, 'get', 'word');<br />if (!(($view=='form')and($layout='edit'))) {<br />&nbsp;&nbsp;&nbsp; //выполняем код по ограничению вывода mootools<br />&nbsp;&nbsp;&nbsp; if (isset($this-&gt;_scripts)and(count($this-&gt;_scripts))){<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $this-&gt;_scripts=array();<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; if (isset($this-&gt;_script)and(count($this-&gt;_script))){<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; $this-&gt;_script['text/javascript']='';<br />&nbsp;&nbsp;&nbsp; &nbsp; <br />&nbsp;&nbsp;&nbsp; }<br />}</code></pre></p>
<p>Статья сделана по материалам JoomlaForum <a href="http://joomlaforum.ru/index.php/topic,197566.0.html" rel="nofollow">joomlaforum.ru/index.php/topic,197566.0.html</a></p>
<p>Выражаю благодарность участнику форума <strong><a title="Просмотр профиля Poznakomlus" href="http://joomlaforum.ru/index.php?action=profile;u=55080" rel="nofollow">Poznakomlus</a> </strong>за раскрытие данной темы.<strong><br>
</strong></p>
<p>Благодарю читателей за внимание!</p>]]></description>
                <pubDate>Tue, 18 Sep 2012 09:49:53 +0400</pubDate>
                            </item>
            </channel>
    </rss>
