Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Скриптом вытянуть содержимое мета тега и вставить в произвольном месте на странице (https://javascript.ru/forum/misc/60866-skriptom-vytyanut-soderzhimoe-meta-tega-i-vstavit-v-proizvolnom-meste-na-stranice.html)

Donso 24.01.2016 20:29

Скриптом вытянуть содержимое мета тега и вставить в произвольном месте на странице
 
Здравствуйте.
Имеется статичная html страница, в которой находится мета тег <title> c необходимым заголовком.
Необходимо скриптом вытянуть содержимое мета тега и вставить в произвольном месте на странице.
Страниц 100500 и руками такое не сделать, для этого требуется скрипт.
Помогите реализовать, люди добрые :)

Lemme 24.01.2016 20:58

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Скриптом вытянуть содержимое мета тега и вставить в произвольном месте на странице</title>
</head>
<body>
  <div></div>

   <script>
      document.querySelector('div').innerHTML = document.title;
   </script>
</body>
</html>

Donso 24.01.2016 21:20

Lemme,
Большое спасибо тебе. добрый человек :)

Donso 24.01.2016 23:19

Скрипт добавляет в коде лишний тег div, то есть получается вот так
<div>содержимое title</div>

А нужно содержимое title передать атрибутам
<a href="#" name="содержимое title"></a>

Сожалею что сразу не уточнил :(

рони 24.01.2016 23:26

Цитата:

Сообщение от Donso
Сожалею что сразу не уточнил

так и сейчас не уточнили, где искать вашу ссылку или она у вас первая?

Donso 24.01.2016 23:29

рони,
Что имеется ввиду первая ? На странице кроме этой ссылки имеются другие. Именно эта ссылка будет работать через другой скрипт, для этого атрибуту name нужно передать название, я хочу взять его из title.

Donso 24.01.2016 23:37

Ссылка выглядит так
<a href="http://#" class="#" name="Здесь содержимое title" type="#" size="#">Анкор</a>

Опан 24.01.2016 23:56

Присвойте ссылке ID, на пример a1:
<a id=a1 href="http://#" class="#" name="Здесь содержимое title" type="#" size="#">Анкор</a>

<script>
a1.name = document.title;
</script>

Donso 25.01.2016 00:09

Опан,
Супер :thanks:

Donso 25.01.2016 10:59

Понадобилось добавить к атрибутам name доп слова, а так же вырезать лишние.
<title>Заголовок первой страницы</title>

Скриптом вырезать слово "первой" + "страницы" оставить "Заголовок" и добавить слово "номер один"
<a id=a1 href="http://#" name="Заголовок номер один">Анкор</a>

Lemme 25.01.2016 11:35

https://developer.mozilla.org/en-US/...String/replace

Dilettante_Pro 25.01.2016 11:54

Donso,
Цитата:

Сообщение от Donso
Скриптом вырезать слово "первой" + "страницы" оставить "Заголовок" и добавить слово "номер один"

И так до 100500? Это "первой" надо сопоставить "один", "второй" - "два",..."сто тысяч пятисотой" - "сто тысяч пятьсот", определять соответствующее вхождение подстроки в строку и делать replace

Donso 25.01.2016 12:17

скрипт вставлю через notepad++ на все 100500 страниц.
В title на всех страницах разное первое слово, остальные два-три доп слова с одинаковыми хвостами. Вот их мне нужно убрать и добавить свои в атрибуты name.
То есть стопятьсот страниц имеют
<title>"Разное первое слово" и "одинаковые хвосты 2-3 слова" </title>
в атрибут "name" нужно вставить только "Разное первое слово" и добавить свое.

Dilettante_Pro 25.01.2016 12:39

Donso,
Цитата:

Сообщение от Donso
скрипт вставлю через notepad++ на все 100500 страниц.
в атрибут "name" нужно вставить только "Разное первое слово" и добавить свое.

Вырезать ненужное и вставить свое на 100500 страницах... Это трудовой подвиг:victory:

Donso 25.01.2016 12:42

Цитата:

Сообщение от Dilettante_Pro (Сообщение 404917)
Donso,

Вырезать ненужное и вставить свое на 100500 страницах... Это трудовой подвиг:victory:

Да дело в том что его не просто вырезать и вставить.
Взять из title, перенести в name, обрезать, добавить свое. При этом title остается без изменений. Вот это для меня сложная тема :yes:

Dilettante_Pro 25.01.2016 12:52

Donso,
Цитата:

Сообщение от Donso
Взять из title, перенести в name, обрезать, добавить свое.

Переносить 100500 раз с изменением руками или написать 100500 скриптов с теми же изменениями - задачи по трудоемкости одинаковые, не вижу смысла в скрипте.

Donso 25.01.2016 12:59

Цитата:

Сообщение от Dilettante_Pro (Сообщение 404920)
Donso,

Переносить 100500 раз с изменением руками или написать 100500 скриптов с теми же изменениями - задачи по трудоемкости одинаковые, не вижу смысла в скрипте.

Может вы неправильно меня поняли.
Один скрипт - вставляется через notepad++ на все 100500 страниц и работает.

То есть универсальный.

Lemme 25.01.2016 13:05

alert("Заголовок первой страницы".replace('первой страницы', 'номер один'));

Dilettante_Pro 25.01.2016 13:16

Donso,
Цитата:

Сообщение от Donso
Один скрипт - вставляется через notepad++ на все 100500 страниц и работает.

То есть универсальный.


Универсальным он быть не может - он должен менять одни ОРИГИНАЛЬНЫЕ для этой страницы слова на другие, однозначно им соответствующие.
Пример скрипта ТОЛЬКО ДЛЯ ПЕРВОЙ СТРАНИЦЫ:
Цитата:

Сообщение от Lemme
alert("Заголовок первой страницы".replace('первой страницы', 'номер один'));

Универсальный скрипт может быть таким: вы формируете два массива строковых значений чисел - программно, при помощи преобразования число - число прописью(см. например http://javascript.ru/forum/misc/4064...-propisyu.html)
В первом массиве - "первой", "второй" ....
Во втором - "один","два", ...
Перебором первого массива находите вхождение элемента в заголовок и в нужную вам строку вставляете измененный заголовок с подстановкой элемента с таким же индексом из второго массива.
Скрипт можно оформить в виде отдельного модуля и вставлять во все страницы только совершенно ОДНУ И ТУ ЖЕ строку загрузки скрипта типа
<script src="myscript.js" type="text/javascript"></script>

Donso 25.01.2016 13:25

Этот скрипт отлично делает только одно действие - вставляет в атрибут name полный title.
<script>
a1.name = document.title;
</script>

<title>Выживший скачать торрент бесплатно в хорошем качестве</title>

С помошью скрипта получаем это
<a id=a1 href="http://#" name="Выживший скачать торрент бесплатно в хорошем качестве">Анкор</a>

А нужно что бы получилось
<a id=a1 href="http://#" name="Выживший 2015.torrent">Анкор</a>

"2015.torrent" это свои слова

"скачать торрент бесплатно в хорошем качестве" это вырезать, они одинаковые на 100500 страниц

Dilettante_Pro 25.01.2016 13:39

Цитата:

Сообщение от Donso
"2015.torrent" это свои слова

"скачать торрент бесплатно в хорошем качестве" это вырезать, они одинаковые на 100500 страниц

Свои слова - одинаковые или разные? Если разные, то откуда их брать?
И почему тогда раньше вы писали про "первая страница" - "номер один"?

Donso 25.01.2016 13:46

Цитата:

Сообщение от Dilettante_Pro (Сообщение 404931)
Свои слова - одинаковые или разные? Если разные, то откуда их брать?
И почему тогда раньше вы писали про "первая страница" - "номер один"?

Одинаковые на сайт (на пачку из 100500 страниц), в зависимости от темы, я сам поменяю в скрипте на свои.


"первая страница" - "номер один" - писал так чтобы не вдаваться в подробности.

Donso 25.01.2016 14:06

Если конкретнее,
Взять тему кино - 100500 страниц, это разные названия фильмов с одинаковым хвостом.
Прим.
Выживший скачать торрент бесплатно в хорошем качестве.html
Омерзительная восьмерка скачать торрент бесплатно в хорошем качестве.html
и т.д

Dilettante_Pro 25.01.2016 15:16

Цитата:

Сообщение от Donso (Сообщение 404932)
Одинаковые на сайт (на пачку из 100500 страниц), в зависимости от темы, я сам поменяю в скрипте на свои.


"первая страница" - "номер один" - писал так чтобы не вдаваться в подробности.

Ничего себе не вдаваться в подробности... Это же две большие разницы.
В таком случае вам будет достаточно replace - по нему Lemme уже все подробно описал и дал ссылки

Donso 26.01.2016 16:53

Кому интересно написать этот скрипт, смотрите здесь http://javascript.ru/forum/job/60897...-iz-title.html


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