Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Добавить строку с помощью javascript на html страницу.  (Прочитано 1369 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Jursha

  • Автор темы
  • Участник
  • *
  • Сообщений: 237
    • Просмотр профиля
Приветствую All. С помощью cURL получаю первый заголовок с твиттер канала.
curl -# -i http://twitrss.me/twitter_user_to_rss/?user=BBCWorld | grep title | head -n2 | tail -1 | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' | sed 's/^[ \t]*//'Нужно эту строку вставить на html страницу. Можно это сделать с помощью javascript не создавая отдельных файлов (на пример: строку в cron, вывод в отдельный файл, а уже из него на страничку), а используя код на самой html странице?

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Код: (bash) [Выделить]
curl -#s  http://twitrss.me/twitter_user_to_rss/?user=BBCWorld | sed '/<title>/! d;x;/^$/d;x;s|\s*</\?[^>]\+>||g;q'
« Последнее редактирование: 25 Марта 2020, 12:56:40 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Jursha

  • Автор темы
  • Участник
  • *
  • Сообщений: 237
    • Просмотр профиля
Не понял Ваш ответ немного или Вы просто строку причесали?

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Jursha, сроку причесал. А js я хочу изучить только. Но по логике: вставляете скрипт в страницу. А средств получить с сайта строку и распарсить у js полно своих
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
получить с сайта строку и распарсить js
Ошибся. Так сделать не получится, из-за same origin policy, которая запрещает обмен данными в документах с разных доменов и портов.
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Jursha

  • Автор темы
  • Участник
  • *
  • Сообщений: 237
    • Просмотр профиля
Ошибся. Так сделать не получится, из-за same origin policy, которая запрещает обмен данными в документах с разных доменов и портов.

Получается только в cron пихать с пере направлением вывода в отдельный файл и уже с него подтягивать?
А это только парсинга касается или например можно изображение утянуть правда там подключение по прокси.
Так то javascript не принципиален (просто в нем код более менее понятен), приветствуются любые решения.
Благодарю за подсказки Azure.

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
строку вставить на html страницу.
Jursha, у Вас эта страница, не локальная часом (формируется Вами, у Вас на машине, и Вам доступны любые её модификации)?
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн The Green Side

  • Старожил
  • *
  • Сообщений: 1178
    • Просмотр профиля
в cron пихать с пере направлением вывода в отдельный файл и уже с него подтягивать?
насколько я знаю, да
файл будет выглядеть так:
Код: (javascript) [Выделить]
document.write('Текст из Твиттера');
А подтягиваться будет так:
<script type="text/javascript" src="script.js"></script>
Debian 11, Debian 11 Server

Оффлайн Jursha

  • Автор темы
  • Участник
  • *
  • Сообщений: 237
    • Просмотр профиля
у Вас эта страница, не локальная часом (формируется Вами, у Вас на машине, и Вам доступны любые её модификации)?
Да локальная, создавалась как домашняя с часто используемыми прямыми ссылками (Возможно и велосипед, тк у браузеров такое есть, но мне так проще чем в ново установленные браузеры заносить частые ссылки), и модификации её доступны.
m-svo,
Вроде выше выяснили, что Javascript парсить не даст. Или мнение ошибочно?
Если не трудно распишите по подробнее, тк мои знания далеки от написания сайтов. В основном всё из гугла, пока капча пускает.

Изначально с сайта средствами HTML бралось изображение и подгружалось на страничку. Всё было нормально и работало.
Потом ркн внес сайт в черный список, и естественно все отвалилось. А в html как подгрузить картинку через прокси не нашел.
В твиттере текст с картинки дублируется, ркн его не трогает (прокси не нужно), решил его распарсить, но с javascript как то не срослось.
Через создание дополнительных файлов со скриптами и текстом который будет подтягиваться на страничку это всё понятно.
Просто думал можно сделать проще, с кодом на самой страничке, что бы при её обновлении была актуальная информация.

Оффлайн The Green Side

  • Старожил
  • *
  • Сообщений: 1178
    • Просмотр профиля
парсить не даст
Наживую в режиме реального времени - видимо нет, я не спец в этом вопросе
Код, который я скинул, не мой, но он работает у меня
По крону обновляйте свой js файл, держите его сразу в каталоге с сайтом, и оттуда подгружайте на сайт. Это не будет являться Cross Site Scripting, т.к. вы в режиме реального времени не загружаете код с другого сайта. Поэтому будет работать.
« Последнее редактирование: 26 Марта 2020, 22:01:54 от m-svo »
Debian 11, Debian 11 Server

Оффлайн Jursha

  • Автор темы
  • Участник
  • *
  • Сообщений: 237
    • Просмотр профиля
Обернул в echo перенаправил вывод в script.js. Все подхватилось работает. Позже в крон добавлю.
echo "document.write('"$(curl -#s http://twitrss.me/twitter_user_to_rss/?user=BBCWorld | sed '/<title>/! d;x;/^$/d;x;s|\s*</\?[^>]\+>||g;q')"');" > /tmp/script.jsm-svo
Вопрос, принципиально его держать в каталоге с сайтом, если указать прямой путь?
Жаль не вышло без отдельных файлов.

Оффлайн The Green Side

  • Старожил
  • *
  • Сообщений: 1178
    • Просмотр профиля
Jursha, думаю да, у движка не должно быть доступа к посторонним файлам. Попробуйте и узнаете.
Debian 11, Debian 11 Server

Оффлайн GoldBoy

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
    • Сервис по выбору хостинга
А почему бы не сделать ajax запрос к скрипту на своем сервере? - А этот скрипт будет получать инфу из твиттера или с любого другого сайта через curl и отдавать готовый результат.

 

Страница сгенерирована за 0.072 секунд. Запросов: 25.