Привет!! ![]()
Надеюсь, эта тема будет интересна кому-то ещё: я пытаюсь создать тему в стиле «ленты социальных сетей», в которую можно было бы встроить виджеты разных платформ, чтобы пользователи (и администраторы!) могли быстро просматривать их все на одной странице. Это позволит оставаться на форуме, избегая необходимости переключаться между множеством социальных платформ ради быстрых обновлений (учитывая, что они обычно делятся одним и тем же контентом), тем самым повышая мотивацию использовать форум как центр развития сообщества.
Отличный генератор виджетов, который я нашёл, — это Woxo. Он чистый и достаточно простой для наших целей. Проблема в том, что я не могу понять, как встроить виджет в тему. Я пробовал поискать обходные пути с помощью iframe или чего-то подобного, но теперь хотел бы спросить, возможно ли это вообще.
Вот код, который я получаю от Woxo для ленты Instagram:
<div data-mc-src="f4b43a8f-c188-4f80-8206-36d9f7529f13#instagram"></div>
<script
src="https://cdn2.woxo.tech/a.js#616348fb53c1e8001686c619"
async data-usrc>
</script>
Что я уже пробовал:
- Размещал тег
<script>в секциях<body>,<footer>и<header>(в итоге оставил его в header). - Убедился, что URL, с которого загружается скрипт, находится в белом списке (в данном случае https://cdn2.woxo.tech/).
- Добавление атрибута
deferне помогло (оставил его на всякий случай).
Если я проверю страницу через инструменты разработчика, скрипт действительно появляется в нижней части секции <body>, и поскольку источник находится в белом списке, он должен сработать. Я проверил, не проблема ли это моего браузера, но если запустить этот HTML здесь W3Schools Tryit Editor, всё работает отлично.
Я сузил ошибку до конкретной функции внутри JS-скрипта. Следующий вызов возвращает null. Это единственная ошибка времени выполнения:
e=document.querySelector("div[data-mc-src]")
e is null
Этот div прописан в теме (часть <div data-mc-src="f4b43a8f-c188-4f80-8206-36d9f7529f13#instagram"></div>). Он остаётся в виде чистого HTML-кода, поэтому должен быть читаемым. По какой-то причине скрипт не может его найти.
С атрибутом defer и размещением в footer скрипт больше не выдаёт ошибок (то, что раньше выдавал ошибку, доказывает, что URL JS-файла действительно находится в белом списке), поэтому теперь я в тупике: не понимаю, почему ничего не работает.
Любые советы будут очень кстати, спасибо заранее за ваше время! ![]()
Лисандр
EDIT: в конце концов мне пришлось отказаться от этой идеи. Поскольку поддерживаются только iframe, я сейчас ищу хороший веб-сервис, который может предоставить такой. Большинство бесплатных сервисов слишком ограничены, а платные версии стоят более чем вдвое дороже, чем хостинг самого форума. Извините за жалобы, но мне просто нужно было громко выговориться здесь, потому что я не могу просто вставить бесплатный HTML-код ![]()


