Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите получить переменную

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
LML
Отправлено: 09 Февраля, 2021 - 08:26:46
Post Id



Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Февр. 2021  


Помог: 1 раз(а)




Имеется код плеера.
Ник вещающего диджея можно вывести таким образом: <b data-myinfo="djname"></b>. Сам тег, в котором это выводится - значения не имеет.
В data-myinfo хранится вся информация по вещанию (название, треки и др. параметры).
Мне нужно получить переменную имени диджея, чтобы я потом мог подвесить на неё вывод своей аватарки конкретного диджея.
Как это можно сделать?

P.S. Если нужны коды скрипта плеера - могу выложить.

Пытался сам что-то сделать, но JavaScript не знаю вообще...
Спойлер (Отобразить)
получаем - null

CODE (javascript):
скопировать код в буфер обмена
  1. <script>
  2.   let dj = document.querySelectorAll('djname');
  3.   document.write(dj);
  4. </script>

получаем - [object NodeList]

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <script>
  3. let dj = form.getElementByClassName('djname');
  4.   document.write(dj);
  5. </script>
  6.  
  7. <script>
  8. document.getElementById("djname").innerHTML = "djname";
  9.   document.write("djname");
  10. </script>
  11.  

не выводится ничего...

P.P.S. Под спойлер, почему-то убирается только первый код Недовольство, огорчение

(Отредактировано автором: 09 Февраля, 2021 - 08:32:12)

 
 Top
dcc0
Отправлено: 09 Февраля, 2021 - 12:14:17
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




LML, Доброго! Часть кода с html можно показать?
Чтобы понять, откуда это:
CODE (javascript):
скопировать код в буфер обмена
  1. getElementByClassName('djname')
  2. getElementById("djname")


-----
Март 2021. Бросил программирование
 
 Top
LML
Отправлено: 13 Февраля, 2021 - 14:15:08
Post Id



Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Февр. 2021  


Помог: 1 раз(а)




Вот скрипт, выводящий всю информацию по вещанию:

Спойлер (Отобразить)

Вся инфа находится в массиве data-myinfo
На страницу подключается только скрипт //myradio24.com/player/player.js?v3.17.
 
 Top
dcc0
Отправлено: 13 Февраля, 2021 - 17:32:18
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Такого id в скрипте нет:
CODE (javascript):
скопировать код в буфер обмена
  1. document.getElementById("djname")

Класса такого тоже.

Вот в info что-то может быть:
CODE (javascript):
скопировать код в буфер обмена
  1. my_avatars[info.djname]

91 строка.


P.S.
Никогда не использовал атрибут data.
Посмотрел описание:
http://htmlbook[dot]ru/blog/atribut-data
Существует специфика работы с JavaScript.

Если бы у тега был id,
Спойлер (Отобразить)

то выглядел бы доступ к имени так (для примера):
Спойлер (Отобразить)

(Добавление)
UPDATE:

Как я понял, аватар добавляется вот этим кодом:

CODE (html):
скопировать код в буфер обмена
  1. <div data-myinfo="htmlavatar"></div>


Если он вообще есть.

(Отредактировано автором: 13 Февраля, 2021 - 17:33:56)



-----
Март 2021. Бросил программирование
 
 Top
dcc0
Отправлено: 13 Февраля, 2021 - 20:21:41
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)




Update again: Пошерстил я по сайту myradio24.com, там, как я понял, для каждой станции есть коды и скрипты.

- выводит какую-то информацию.

Аватар, видимо, должен быть здесь:

(Отредактировано автором: 13 Февраля, 2021 - 20:22:24)



-----
Март 2021. Бросил программирование
 
 Top
LML
Отправлено: 13 Февраля, 2021 - 21:08:35
Post Id



Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Февр. 2021  


Помог: 1 раз(а)




Сразу хочу поблагодарить за помощь!

Да. Каждая станция может использовать функционал из предложенного.
Но не весь функционал раскрыт.

Кстати, та часть javascript-кода, что выше выложил, уже убрана из доступа.
Доступ к переменным дан только через PHP-код.
Вариант на РНР я сделал. Но меня это не совсем устраивает, так как это ещё дополнительные запросы, да и для динамической смены аватара - нужно постоянно перезапускать скрипт...

А тут в <b data-myinfo="djname"></b> уже есть динамически сменяемый ник диджея.
Только я не пойму, каким образом он выводится так, что он на странице видим, но его нет, как переменной...

info.htmlavatar - да. Тут аватар. Но он от радиосервера и мне не нужен.
Мне нужно на ник диджея динамически навесить его графический ник из чата...
 
 Top
dcc0
Отправлено: 13 Февраля, 2021 - 21:28:39
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


Помог: 10 раз(а)





- это объект.
Т.е. доступ к нему, как я выше написал. Сейчас ещё пороюсь, напишу.

А функция my_init_updateinfo - это замыкание.
Неясно, где она вызывавается, но в неё сразу передаётся объект info.
Можно определить самому переменную на своей странице
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var myvar = info.djname
  3.  

И через innerHTML вывести в нужную часть.

(Отредактировано автором: 13 Февраля, 2021 - 22:10:17)



-----
Март 2021. Бросил программирование
 
 Top
Vladimir Kheifets
Отправлено: 14 Февраля, 2021 - 10:48:14
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




LML пишет:
Имеется код плеера.
Ник вещающего диджея можно вывести таким образом: <b data-myinfo="djname"></b>. Сам тег, в котором это выводится - значения не имеет.
В data-myinfo хранится вся информация по вещанию (название, треки и др. параметры).
Мне нужно получить переменную имени диджея, чтобы я потом мог подвесить на неё вывод своей аватарки конкретного диджея.
Как это можно сделать?

Добрый день!
Попробуйте сделать так:
Спойлер (Отобразить)
Результат можете увидеть в консле браузера (ctrl+shift+i)
Спойлер (Отобразить)

Если больше нравится как было у Вас, то замените в коде console.log на document.write
Удачи!

(Отредактировано автором: 14 Февраля, 2021 - 10:54:37)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB