<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; Greasemonkey/Scriptish: Автообновление Ajax страниц]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=6226</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=6226&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Greasemonkey/Scriptish: Автообновление Ajax страниц».]]></description>
		<lastBuildDate>Sun, 18 Sep 2011 09:44:10 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Greasemonkey/Scriptish: Автообновление Ajax страниц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=51643#p51643</link>
			<description><![CDATA[<div class="quotebox"><cite>DnsIs пишет:</cite><blockquote><p>…Просто не умею выражать мысли.</p></blockquote></div><p>Сам такой <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" />.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sun, 18 Sep 2011 09:44:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=51643#p51643</guid>
		</item>
		<item>
			<title><![CDATA[Re: Greasemonkey/Scriptish: Автообновление Ajax страниц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=51640#p51640</link>
			<description><![CDATA[<p>2alexii конечно вы правы, и я об этом прекрасно знаю. Просто не умею выражать мысли.</p>]]></description>
			<author><![CDATA[null@example.com (DnsIs)]]></author>
			<pubDate>Sun, 18 Sep 2011 07:29:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=51640#p51640</guid>
		</item>
		<item>
			<title><![CDATA[Re: Greasemonkey/Scriptish: Автообновление Ajax страниц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=51625#p51625</link>
			<description><![CDATA[<div class="quotebox"><cite>DnsIs пишет:</cite><blockquote><p>собственно они внедряют на сторонние сайты свой код javascript,</p></blockquote></div><p>Всё же нет. Они встраивают в отдаваемый браузеру текст html-страницы своё содержимое по заданным правилам. Сайт об этом ничего не знает.</p><p><em>Update</em>: собственно, <strong>Rumata</strong> уже сказал.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sat, 17 Sep 2011 21:50:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=51625#p51625</guid>
		</item>
		<item>
			<title><![CDATA[Re: Greasemonkey/Scriptish: Автообновление Ajax страниц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=51599#p51599</link>
			<description><![CDATA[<p>С Вами и я узнал про сии события, описанные в DOM Level 2. ))).</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Sat, 17 Sep 2011 18:44:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=51599#p51599</guid>
		</item>
		<item>
			<title><![CDATA[Re: Greasemonkey/Scriptish: Автообновление Ajax страниц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=51596#p51596</link>
			<description><![CDATA[<p>Ухты елки-палки.<br />Заработало, только не с <strong>DOMNodeInsertedIntoDocument</strong>, а с <strong>DOMNodeInserted</strong>. А я не слышал про такую магию. Благодарю, Rumata. Буду тестить, ковырять.</p>]]></description>
			<author><![CDATA[null@example.com (DnsIs)]]></author>
			<pubDate>Sat, 17 Sep 2011 18:29:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=51596#p51596</guid>
		</item>
		<item>
			<title><![CDATA[Re: Greasemonkey/Scriptish: Автообновление Ajax страниц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=51589#p51589</link>
			<description><![CDATA[<p>Попробуйте что-нибудь эдакое. Писал на коленке. Так что если сработает, засчитайте это как мой первый рабочий скрипт для GreaseMonkey )))<br /></p><div class="codebox"><pre><code>// ==UserScript==
// @id             test@js
// @name           for http://juicystudio.com
// @include        http://juicystudio.com/*
// ==/UserScript==
(function()
{
    document.addEventListener(&#039;DOMNodeInsertedIntoDocument&#039;, function(e)
    {
        e = e || window.event;
        var s = e.target;
        if ( s.id == &#039;update&#039; ) {
            s.style.color = &#039;#ff0000&#039;;
        }
    }), false);
})();</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Sat, 17 Sep 2011 17:30:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=51589#p51589</guid>
		</item>
		<item>
			<title><![CDATA[Re: Greasemonkey/Scriptish: Автообновление Ajax страниц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=51586#p51586</link>
			<description><![CDATA[<p>Я знаю, что такое GreaseMonkey, хотя ни разу не пользовался им. </p><div class="quotebox"><blockquote><p>GreaseMonkey/Scriptish ... внедряют на сторонние сайты свой код javascript</p></blockquote></div><p>. Я бы не стал так утверждать. Скорее - выполняют дополнительный код для определенных сайтов. Ну, это уже тонкости... </p><p>Почитайте документацию к расширениям. Поищите события DOM. Может быть там есть что-то называемое DOMNodeInserted/DOMNodeInsertedIntoDocument.</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Sat, 17 Sep 2011 17:19:54 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=51586#p51586</guid>
		</item>
		<item>
			<title><![CDATA[Re: Greasemonkey/Scriptish: Автообновление Ajax страниц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=51584#p51584</link>
			<description><![CDATA[<p>Если сайт был бы мой, то проблем бы не было. 8)<br />GreaseMonkey же помогает как раз с чужими сайтами. Наверное мне стоило начать с того, что бы вкратце рассказать что же за расширения такие GreaseMonkey/Scriptish - собственно они внедряют на сторонние сайты свой код javascript, что позволяет динамически менять любой сайт, само собой только для своего браузера.</p><p>Так что есть возможность влиять только на уже созданную страницу.</p><p>То что вы написали, я понимаю. Хотелось узнать может есть некая хитрость/хак реализующая нечто:</p><p>body.onreload(...) - то есть отрабатывающая при обновлении страницы.</p>]]></description>
			<author><![CDATA[null@example.com (DnsIs)]]></author>
			<pubDate>Sat, 17 Sep 2011 16:57:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=51584#p51584</guid>
		</item>
		<item>
			<title><![CDATA[Re: Greasemonkey/Scriptish: Автообновление Ajax страниц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=51583#p51583</link>
			<description><![CDATA[<div class="codebox"><pre><code>            var objCurrent = document.getElementById(&#039;update&#039;);
            var objReplacement = document.createElement(&#039;p&#039;);

            objReplacement.setAttribute(&#039;id&#039;, &#039;update&#039;);
            objReplacement.tabIndex = -1;
            objReplacement.appendChild(document.createTextNode(strResult));

            if (objCurrent)
                objCurrent.parentNode.replaceChild(objReplacement, objCurrent);</code></pre></div><p>Проблема в этих строках - происходит замена одного элемента другим. Если сайт Ваш - перепишите эти строки, так чтобы менялось ТОЛЬКО содержимое, а не весь элемент. Иначе - ищите пути смены стиля не у старого элемента, а у нового. Есть такая возможность в GreaseMonkey?</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Sat, 17 Sep 2011 16:40:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=51583#p51583</guid>
		</item>
		<item>
			<title><![CDATA[Greasemonkey/Scriptish: Автообновление Ajax страниц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=51582#p51582</link>
			<description><![CDATA[<p>Доброго дня. Пишу небольшой скриптик для <a href="http://mozilla-russia.org/products/firefox/">Firefox</a>+<a href="https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/">Greasemonkey</a>/<a href="https://addons.mozilla.org/en-US/firefox/addon/scriptish/">Scriptish</a>, но столкнулся с проблемкой. </p><p>Страница Ajax-овая. И при обновлении контента, мои изменения на странице исчезают.</p><p>Пример<br />Вот сайт <a href="http://juicystudio.com/experiments/ajax/index.php?f=1">http://juicystudio.com</a> - небольшая страница для тестирования Ajax.<br />Пишу для нее тестовый код который просто меняет цвет текста.<br /></p><div class="codebox"><pre><code>// ==UserScript==
// @id             test@js
// @name           for http://juicystudio.com
// @include        http://juicystudio.com/*
// ==/UserScript==
(function () {
    document.getElementById(&#039;update&#039;).setAttribute(&#039;style&#039;,&#039;color:red&#039;);
})();</code></pre></div><p>При клике на ссылку <strong>[Generate random fact]</strong>, элемент &lt;p&gt; именяет свое содержимое и весь мой красный текст идет к черту.</p><p>Я придумал 2 варианта.<br />1. Это использовать setInterval(...), то есть через какой то промежуток времени запускать мою функцию.<br /></p><div class="codebox"><pre><code>// ==UserScript==
// @id             test@js
// @name           for http://juicystudio.com
// @include        http://juicystudio.com/*
// ==/UserScript==
(function () {
  setInterval(function(){document.getElementById(&#039;update&#039;).setAttribute(&#039;style&#039;,&#039;color:red&#039;)},2000);
})();</code></pre></div><p>Но мне почему то кажется что это плохой подход, напрягать браузер скриптом не стоит.</p><p>2. Еще как вариант это повесить на сылку свой обработчик.<br /></p><div class="codebox"><pre><code>// ==UserScript==
// @id             test@js
// @name           for http://juicystudio.com
// @include        http://juicystudio.com/*
// ==/UserScript==
(function () {
  document.getElementById(&#039;fact&#039;).addEventListener( &quot;click&quot;, function(){setTimeout(&quot;document.getElementById(&#039;update&#039;).setAttribute(&#039;style&#039;,&#039;color:red&#039;)&quot;,2000)}, false);
})();</code></pre></div><p>Это неплохо когда всего 1 ссылка на странице. А если их тьма? Тогда придется вешать на все.</p><p>Вот хотелось бы спросить. А есть еще какие то варианты, что бы добиться моей цели?</p>]]></description>
			<author><![CDATA[null@example.com (DnsIs)]]></author>
			<pubDate>Sat, 17 Sep 2011 16:07:38 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=51582#p51582</guid>
		</item>
	</channel>
</rss>
