Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   регулярное выражения поиска html-тега (https://javascript.ru/forum/dom-window/64583-regulyarnoe-vyrazheniya-poiska-html-tega.html)

рони 24.08.2016 12:13

scrollquest,
<script>
var d = performance.now();
for (var i=0; i<1000; i++)  {document.write("scrollquest".replace(/.*/,"$& конь в вакууме " ))}
alert(performance.now()-d);
d = performance.now();
for (var i=0; i<1000; i++)  {document.body.appendChild(document.createTextNode("scrollquest конь в вакууме "))}
alert(performance.now()-d);
</script>

scrollquest 24.08.2016 12:14

рони,
это случайно не ваш сенсей написал?

Цитата:

The benefits and uses

In most cases, it is preferred to use DOM for modifications, because it is convenient, and there is innerHTML, which is almost the same.

But document.write is the fastest way to add a script-generated text into the page.

Also, it is used to insert advertising scripts and counters:
1
<script>
2
var url = 'http://ads.com/buyme?rand='+Math.random()
3
document.write('<script src="'+url+'"></scr'+'ipt>')
4
</script>
A script URL is generated dynamically, to allow user-specific data may be added to the URL, like screen resolution and other stuff available from JS.
Adding a random value prevents caching even for a force-caching proxy.
Note that the closing </SCRIPT> is split. Otherwise browser would think that the script finishes right at that </SCRIPT>.
That's convenient, but a bad way, because loading a script may block the rest of page from rendering. Especially, a problem when the ads server is slow.

Think thrice before inserting a third-party script into HTML.

There is a better way which doesn't block the page. Use the DOM, create SCRIPT element and append it to HEAD.

1
var script = document.createElement('script')
2
script.src = 'http://ads.com/buyme?rand='+Math.random()
3

4
// now append the script into HEAD, it will fetched and executed
5
document.documentElement.firstChild.appendChild(sc ript)
Using DOM doesn’t block the page and makes the page faster and safe from third-party lags.
http://javascript.info/tutorial/document-write
Он видать, чуток поумнел, вышел из состояния 100%-ного имбицила. Но на вас, русскоязычных адептов он положил болт, там платят больше центов

Manyasha 24.08.2016 12:15

Цитата:

Сообщение от рони (Сообщение 426462)
в учебнике всё для этого есть.
Добавление и удаление узлов

прочитала, тогда так:
var str = "Сайт рыбатекст поможет дизайнеру, <b>верстальщику</b>, 'вебмастеру сгенерировать the sun <span>несколько</span> абзацев более менее осмысленного' текста рыбы на русском языке, а начинающему оратору отточить навык публичных выступлений в домашних условиях. +7(903)-123-45-67 При создании генератора мы использовали небезызвестный универсальный код речей. Текст генерируется абзацами случайным образом от двух до десяти предложений в абзаце, что позволяет сделать текст более +7(912)-124-42-68 привлекательным и живым для визуально-слухового восприятия. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 'Aenean commodo ligula eget dolor. Aenean massa'. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, <style> justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi.";
var reg = /<[^\/]+?>/gm;
document.body.appendChild(document.createTextNode(str.match(reg)));

Цитата:

Сообщение от рони (Сообщение 426469)
document.write беда для новичка

так я и была против такого способа, поэтому переделала через alert в своем первом ответе.

До createTextNode без Вашей ссылки не догадалась бы, спасибо за урок!:thanks:

ой, меня уже опередили с примером...

scrollquest 24.08.2016 12:16

рони,
ну я ж говорил, что Вы нулевой. Вы еще и пруфец подкинули. Лан, надоела мне эта бредятина. Программист, который даже не понимает что он тестит, LOL. Думайте что хотите.

рони 24.08.2016 12:19

scrollquest,
смотрите пост 21 строка 6, если бы написали эту строку, а не кучу текста, ещё можно было поверить что вы что-то умеите сами и внимательны к собеседникам.

рони 24.08.2016 12:19

Manyasha,
:victory: :dance:

scrollquest 24.08.2016 12:22

рони,
мне нехрена смотреть, я вижу Ваши рассуждения, на уровне детского лепета, мне этого достаточно. А на собеседников мне вообще насрать, я не нанимался детей воспитывать


Часовой пояс GMT +3, время: 22:17.