Бывает нужно скопировать куда-нибудь из интернетов какой-нибудь список чего-нибудь. Ну, например, тосты, анекдоты, имена, скороговорки. Если верстальщик страницы использовал для этого особый тег на языке HTML, а не текстовые номера, то нумерация при копировании теряется. Например, если исходный список выглядит так:
[Картинка №1]
То при копировании в Whatsapp Web, получится вот так:
Kупитe caмый дopoгoй cтвoл. Чeм дopoжe, тeм лучшe cтpeляeт, тpeниpoвки нe нужны. Eщe пpиoбpeтитe тюнингa нa cумму cтoимocти opужия. Чeм тяжeлee, тeм нaдeжнee, a лишнee caмo oтвaлитcя, ocoбeннo c дpoбoвикa. Kcтaти, o дpoбoвикax — бepитe пaтpoны c caмoй бoльшoй нaвecкoй и caмыми угpoжaющими нaзвaниями, Maгнум или Cупepмaгнум. Oбычныe пaтpoны — для cлaбaкoв. Cиняки и paзбитыe cкулы дoбaвляют мужecтвeннocти. Cpaзу нaдo купить пoбoльшe тaктичecкoй oдeжды. Лучшe кaмуфляж, oн пoтoм кpacивo пылитcя в шкaфу, нaпoминaя o eдинcтвeннoм выeздe нa cтpeльбищe. Paзгpузкa. У кaждoгo нoвичкa дoлжнa быть paзгpузкa кaк в бoeвикe. Зaщитныe нaушники и oчки нe нужны. Oпытныe cтpeлки иx нaдeвaют пoтoму, чтo пpocтo экoнoмят нa лeчeнии глaз и ушeй. Пepчaтки дoлжны быть oбязaтeльнo c oбpeзaнными пaльцaми, тaк кpучe.
Т.е. все тэги обрезаются и вставляется текст сплошняком. Немного погуглив этот момент, ничего путного не нашел. Что же делать?
Попробуем применить JavaScript прямо на странице. В подавляющем большинстве случаев, на страницах, с которых я хотел что-то скопировать, использовался обычный нумерованный список, оформленный тегами HTML:
<ol>
<li>один элемент списка</li>
<li>второй элемент списка</li>
...
<li>последний элемент списка</li>
</ol>
Это видно во вкладке Elements, если кликнуть на любом элементе списка на странице правой кнопкой и выбрать в контекстном меню пункт "Просмотреть код":
[Картинка №2]
Итак. Наша задача переписать все элементы списка так, чтобы нумерация была прописана в них обычным текстом, а не скользким HTML, который не копируется. Для этого в браузере обычно надо нажать F12 и перейти во вкладку Console (Консоль) и прям в ней написать следующий небольшой код:
var lis = document.querySelectorAll("ol li");
for(var i=0; i<lis.length; i++)
{
var html = lis[i].innerHTML;
lis[i].innerHTML = (i+1) + ". " + html;
}
И жмем Enter для выполнения кода на странице. Для перехода на следующую строку в консоли нажимайте Shift+Enter, если будете вручную писать код или же просто скопируйте его отсюда прямо в консоль и жмите Enter. В этом коде мы сначала сохранили наш заветный списочек, найденный по тегам, в переменную. Затем прошлись по его элементам, добавляя к каждому из них порядковый номер и точку с пробелом, чтобы было читабельнее при копировании. После выполнения кода список на странице обзаведется дублирующими номерами:
[Картинка №3]
Которые можно спокойно копировать:
[Картинка №4]
И получить нормальный нумерованный текст в результате копи-паста:
1. Kупитe caмый дopoгoй cтвoл. Чeм дopoжe, тeм лучшe cтpeляeт, тpeниpoвки нe нужны.
2. Eщe пpиoбpeтитe тюнингa нa cумму cтoимocти opужия. Чeм тяжeлee, тeм нaдeжнee, a лишнee caмo oтвaлитcя, ocoбeннo c дpoбoвикa.
З. Kcтaти, o дpoбoвикax — бepитe пaтpoны c caмoй бoльшoй нaвecкoй и caмыми угpoжaющими нaзвaниями, Maгнум или Cупepмaгнум. Oбычныe пaтpoны — для cлaбaкoв. Cиняки и paзбитыe cкулы дoбaвляют мужecтвeннocти.
4. Cpaзу нaдo купить пoбoльшe тaктичecкoй oдeжды. Лучшe кaмуфляж, oн пoтoм кpacивo пылитcя в шкaфу, нaпoминaя o eдинcтвeннoм выeздe нa cтpeльбищe.
На самом деле это не избавит нас от отсутствия переноса строк в списке на некоторых страницах. Почему так происходит, ума не приложу. Ни добавление в конце каждого элемента тегов <br/>, ни спецсимволов \n, \r не помогает. Если знающие люди подскажут, буду благодарен.
Также может возникнуть ситуация, что списков на странице может оказаться несколько и тогда нарушится нумерация. Тогда надо либо скорректировать добавляемый номер, либо окунуться в прекрасный мир HTML-разметки и вычленить нужный нам список, дополнив селектор в строке document.querySelectorAll классом, атрибутом или чем-то примечательным для конкретного списка))
Не претендую на звание СенСея или Великого повелителя страниц, просто поделился способом, которым сам иногда пользуюсь, вдруг кому-то еще пригодится. Поэтому прошу сильно тапками не бросать)