<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; JS: pasteHTML между элементами]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=13269</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=13269&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «JS: pasteHTML между элементами».]]></description>
		<lastBuildDate>Wed, 06 Dec 2017 20:04:42 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: JS: pasteHTML между элементами]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=122009#p122009</link>
			<description><![CDATA[<p>Ну у меня тоже частный случай, мне это надо было для одной фичи в AhkSpy, поэтому код библиотеки в общем AutoHotkey коде из-за одного пустяка на JS это слишком.<br />Далее оказалось что надо было это мне исключительно из за моего неправильного подхода к HTML, в итоге всё оказалось проще. <br />Но решение конечно интересно, если библиотеки это делают, значит оно есть, а я до него не дошёл.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 06 Dec 2017 20:04:42 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=122009#p122009</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: pasteHTML между элементами]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=121999#p121999</link>
			<description><![CDATA[<p><strong>serzh82saratov</strong>, а стоит ли выдёргивать ? Если вдуматься, то отсутствие <strong>createRange</strong> у document в <strong>IE8</strong> это частный случай его (IE) ущербности. Завтра может понадобиться реализовать тоже самое под IE6 / IE7 и т.п. А значит искать новые пути подхода. А раз так, то лучше обстоятельства подогнать под удобство, чем жертвовать удобством из-за обстоятельств. Проще говоря - 158 кб (и это ещё не minified) не особо портят картину, как мне кажется. В принципе задачу можно решить и через jQuery. Там так и вообще 86 кб кода. На то он (jQuery) и делался, чтобы облегчить момент разработки. )</p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Wed, 06 Dec 2017 10:50:29 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=121999#p121999</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: pasteHTML между элементами]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=121998#p121998</link>
			<description><![CDATA[<p>Слишком громоздко, оттуда даже выдернуть что то тяжело.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 06 Dec 2017 10:13:59 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=121998#p121998</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: pasteHTML между элементами]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=121996#p121996</link>
			<description><![CDATA[<p>Как вариант, можно использовать <strong>rangy</strong><br /></p><div class="codebox"><pre><code>
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
	&lt;head&gt;
		&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=IE8&quot; /&gt;
		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
		&lt;!-- rangy &quot;https://github.com/timdown/rangy/wiki&quot; --&gt;
		&lt;script src=&quot;https://rawgit.com/timdown/rangy/master/lib/rangy-core.js&quot;&gt;&lt;/script&gt;
		&lt;style&gt;
			#Ref3, #Ref4 {color: green;}
			#Ref1, #Ref2 {color: red;}
		&lt;/style&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;span id=&#039;Ref1&#039;&gt;content of span1 &lt;/span&gt;нынешний код или пусто&lt;span id=&#039;Ref3&#039;&gt;, ещё код &lt;/span&gt;&lt;span id=&#039;Ref4&#039;&gt;, и ещё код&lt;/span&gt;&lt;span id=&#039;Ref2&#039;&gt; content of span2&lt;/span&gt;
		&lt;button onclick=&quot;test()&quot;&gt;replace&lt;/button&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;
			function test(){
				var r = rangy.createRange();
				r.setStartAfter(Ref1);
				r.setEndBefore(Ref2);
				r.deleteContents();
				r.insertNode(document.createTextNode(&#039;test&#039;));
			}
		&lt;/script&gt;
	&lt;/body&gt;
&lt;/html&gt;
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Wed, 06 Dec 2017 08:54:15 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=121996#p121996</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: pasteHTML между элементами]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=121991#p121991</link>
			<description><![CDATA[<p>У меня ещё такой костыль, но это только если стразу после &quot;&lt;span id=&#039;Ref1&#039;&gt;content of span1 &lt;/span&gt;&quot; не будет пусто и будет символ но не элемент.<br /></p><div class="codebox"><pre><code>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
	&lt;head&gt;
		&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=IE8&quot; /&gt;
		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;p id=&#039;con&#039;&gt;&lt;span id=&#039;Ref1&#039;&gt;content of span1 &lt;/span&gt;нынешний код или пусто&lt;span id=&#039;Ref3&#039;&gt;, ещё код &lt;/span&gt;&lt;span id=&#039;Ref4&#039;&gt;, и ещё код&lt;/span&gt;&lt;span id=&#039;Ref2&#039;&gt; content of span2&lt;/span&gt;&lt;/p&gt;
		&lt;button onclick=&quot;test()&quot;&gt;replace&lt;/button&gt;
		
		&lt;script type=&quot;text/javascript&quot;&gt;
		function test(){
			var rng1 = document.body.createTextRange();
			rng1.moveToElementText(document.getElementById(&quot;Ref1&quot;));
			
			var rng2 = document.body.createTextRange();
			rng2.moveToElementText(document.getElementById(&quot;Ref2&quot;));
			
			alert(document.getElementById(&quot;con&quot;).innerHTML);
			
			rng1.setEndPoint(&quot;StartToStart&quot;, rng2);
			rng1.moveStart(&quot;character&quot;, 1);
			rng1.moveStart(&quot;character&quot;, -1);
			rng1.pasteHTML(&quot;New HTML&quot;);
			
			alert(document.getElementById(&quot;con&quot;).innerHTML);
		}
		&lt;/script&gt;
	&lt;/body&gt;
	&lt;style&gt;
		#Ref3, #Ref4 {color: green;}
		#Ref1, #Ref2 {color: red;}
	&lt;/style&gt;
&lt;/html&gt;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Tue, 05 Dec 2017 22:02:50 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=121991#p121991</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: pasteHTML между элементами]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=121990#p121990</link>
			<description><![CDATA[<p>У меня почему то </p><div class="quotebox"><blockquote><p>Объект не поддерживает свойство или метод &quot;createRange&quot;</p></blockquote></div><br /><p>На 9 работает как надо, но мне для IE8 надо.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Tue, 05 Dec 2017 21:51:44 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=121990#p121990</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: pasteHTML между элементами]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=121989#p121989</link>
			<description><![CDATA[<p><strong>serzh82saratov</strong>, ах вон оно как. Тогда понятно.</p><p>Тогда наверное ещё можно так ?<br /></p><div class="codebox"><pre><code>
function test(){
	var r = document.createRange();
	r.setStartAfter(Ref1);
	r.setEndBefore(Ref2);
	r.deleteContents();
	r.insertNode(document.createTextNode(&#039;test&#039;));
}
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Tue, 05 Dec 2017 20:28:54 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=121989#p121989</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: pasteHTML между элементами]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=121988#p121988</link>
			<description><![CDATA[<p>Не получится, &quot;нынешний код&quot; это не только текст, но и <span class="bbu">любой</span> код.<br /></p><div class="codebox"><pre><code>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
	&lt;head&gt;
		&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=IE8&quot; /&gt;
		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;span id=&#039;Ref1&#039;&gt;content of span1 &lt;/span&gt;нынешний код или пусто&lt;span id=&#039;Ref3&#039;&gt;, ещё код &lt;/span&gt;&lt;span id=&#039;Ref4&#039;&gt;, и ещё код&lt;/span&gt;&lt;span id=&#039;Ref2&#039;&gt; content of span2&lt;/span&gt;
		&lt;button onclick=&quot;test()&quot;&gt;replace&lt;/button&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;
		function test(){
			document.getElementById(&#039;Ref1&#039;).nextSibling.data = &quot;[замена]&quot;
		}
		&lt;/script&gt;
	&lt;/body&gt;
	&lt;style&gt;
		#Ref3, #Ref4 {color: green;}
		#Ref1, #Ref2 {color: red;}
	&lt;/style&gt;
&lt;/html&gt;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Tue, 05 Dec 2017 20:25:29 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=121988#p121988</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: pasteHTML между элементами]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=121987#p121987</link>
			<description><![CDATA[<p>Господа, прошу простить меня, если не разобрался в постановке задачи, но вроде бы можно проще ?</p><div class="codebox"><pre><code>
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
	&lt;head&gt;
		&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=IE8&quot; /&gt;
		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;span id=&#039;Ref1&#039;&gt;content of span1 &lt;/span&gt;нынешний код или пусто&lt;span id=&#039;Ref2&#039;&gt; content of span2&lt;/span&gt;
		&lt;button onclick=&quot;test()&quot;&gt;replace&lt;/button&gt;
		&lt;script type=&quot;text/javascript&quot;&gt;
		function test(){
			Ref1.nextSibling.data = &quot;[замена]&quot;
		}
		&lt;/script&gt;
	&lt;/body&gt;
&lt;/html&gt;
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Tue, 05 Dec 2017 20:16:43 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=121987#p121987</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS: pasteHTML между элементами]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=121938#p121938</link>
			<description><![CDATA[<p>Можно, например, так: </p><div class="codebox"><pre><code>document.onclick = function() {
	var TextRange = document.body.createTextRange();
	while (TextRange.findText(&quot;нынешний код, но не пусто (иначе будет нечего искать)&quot;)) {
		TextRange.pasteHTML(&#039;&lt;span id=&quot;idFound&quot;&gt;новый текст, на который будут заменены все вхождения&lt;/span&gt;&#039;);
		TextRange.collapse(false);
	}
}</code></pre></div><p> Подробности хорошо расписаны <a href="https://learn.javascript.ru/range-textrange-selection">тут</a>. Но делать так я бы не советовал. Гораздо проще (быстрее, надежнее,...) весь html текст, который предназначен для замены, заключить в теги с идентификатором id и менять его c innerHTML.</p>]]></description>
			<author><![CDATA[null@example.com (mozers)]]></author>
			<pubDate>Mon, 04 Dec 2017 11:24:52 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=121938#p121938</guid>
		</item>
		<item>
			<title><![CDATA[JS: pasteHTML между элементами]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=121928#p121928</link>
			<description><![CDATA[<p>Хочется вставить код <strong>между</strong> элементами. Не могу понять как в IE 8 расположить TextRange именно между элементами.</p><p>Например было:<br /></p><div class="codebox"><pre><code>&lt;span id=&#039;Ref1&#039;&gt;&lt;/span&gt;нынешний код или пусто&lt;span id=&#039;Ref2&#039;&gt;&lt;/span&gt;</code></pre></div><p>стало:<br /></p><div class="codebox"><pre><code>&lt;span id=&#039;Ref1&#039;&gt;&lt;/span&gt;мой новый код или стираю старый&lt;span id=&#039;Ref2&#039;&gt;&lt;/span&gt;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sun, 03 Dec 2017 20:09:47 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=121928#p121928</guid>
		</item>
	</channel>
</rss>
