Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
3 / 3 / 2
Регистрация: 16.01.2013
Сообщений: 471

Iframe в спойлер

06.04.2017, 07:35. Показов 1544. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте форумчане. Подскажите пожалуйста, возможно ли сделать спойлер таким образом, чтобы iframe загружался только при открытии спойлера, а не при загрузке страницы?

Сейчас схема такая:
На исходной странице, подключается класс парсера bbcode и если есть тег [video][/video], в котором есть линк на видео начинает обработку
PHP
1
$param = htmlspecialchars(parent::get_html($tree));
Далее генерирую уникальный ID для спойлера
PHP
1
$mt_rand= mt_rand(1000,10000);
Определяю откуда видео, чтобы подписать спойлер
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if(strpos($param, 'youtube') !== false){
        $nameVideo = 'YouTube';
        }elseif(strpos($param, 'coub') !== false){
        $nameVideo = 'Coub';
        }elseif(strpos($param, 'liveleak') !== false){
        $nameVideo = 'LiveLeak';
        }elseif(strpos($param, 'ok') !== false){
        $nameVideo = 'OK';
        }elseif(strpos($param, 'mail') !== false){
        $nameVideo = 'Mail.Ru';
        }elseif(strpos($param, 'rutube') !== false){
        $nameVideo = 'RuTube';
        }elseif(strpos($param, 'twitter') !== false){
        $nameVideo = 'Twitter';
        }elseif(strpos($param, 'vk') !== false){
        $nameVideo = 'VK';
}
Ну а дальше сам процесс вставки iframe и заключение его в спойлер
PHP/HTML
1
$param = preg_replace('/(http:\/\/|http:\/\/www\.)youtube\.com\/embed\/([a-zA-Z0-9_\-]+(.*))/i','<div class="spoiler"><div class="type"  id="spoiler" onclick="Spoiler('.$mt_rand.')"><span id="infoSpoiler'.$mt_rand.'">[+]</span> Видео с '.$nameVideo.'</div><div  id="spoilerContent'.$mt_rand.'" class="spoilerContent"><iframe src="https://www.youtube.com/embed/$2" '.$embed.' style="border-width:0px;" width="'.$maxwidth.'" height="'.$maxheight.'" allowfullscreen></iframe></div></div>', $param);
ну и
PHP
1
return $param;
На исходной странице есть js для обработки открытия/закрытия спойлера
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function Spoiler(idsp)
{
var displaySpoiler = document.getElementById('spoilerContent'+idsp).style.display;
if(displaySpoiler == ""){var displaySpoiler = 'none';}
if(displaySpoiler == 'none'){
document.getElementById('spoilerContent'+idsp).style.display = 'block';
document.getElementById('infoSpoiler'+idsp).innerHTML = '[-]';
}
if(displaySpoiler == 'block'){
document.getElementById('spoilerContent'+idsp).style.display = 'none';
document.getElementById('infoSpoiler'+idsp).innerHTML = '[+]';
}
 
};
Можно ли это доработать чтобы фреймы грузились только при открытии спойлера?

Добавлено через 17 часов 16 минут
А почему тему перенесли именно в JS? на сколько я понял, для реализации такой опции не обязательно прибегать к JS.

Вот, например, наткнулся на один вариант в инете, правда я не совсем понял в чем идея и как правильно с помощью её реализовать.

Когда я делал блог для форума, я делал следующее:
HTML5
1
<div id="SomeID" style="SomeStyle" data="Some HTML-code or any text"></div>
В обычном состоянии браузер загружает только блок спойлера, что бы в нём не находилось. При клике на него же происходит считывание содержимого атрибута data и, если там есть адреса изображений, видеороликов или чего-то ещё, отправляется запрос на сервер, где они хранятся и они начинают загружаться.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.04.2017, 07:35
Ответы с готовыми решениями:

Не срабатывают события из iframe при перетаскивании в этот iframe в Opera
Есть два фрейма. В первый вкладывается второй. При зажатии кнопки мыши на первом, если передвинуть курсор к второму, то события второго не...

Могу ли я из одного iframe добраться к елментам другого iframe?
День добрый всем! Могу ли я из одного iframe добраться к елментам другого iframe, т.е.: Например есть два ифрейма: &lt;iframe...

Уменьшить размер iframe щелкнув по ссылке внутри iframe
Можно уменьшить размер iframe щелкнув по ссылке внутри iframe? Ситуация: на странице есть ссылка, открывающая модальное окно с iframe...

4
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
06.04.2017, 12:23
Лучший ответ Сообщение было отмечено MirDj как решение

Решение

MirDj, Можно src спойлера оставить пустым - положить его в аттрибут, а при открытии спойлера, уже подставлять в src.
0
3 / 3 / 2
Регистрация: 16.01.2013
Сообщений: 471
06.04.2017, 14:45  [ТС]
sad67man, т.е так же вставлять в спойлер iframe, только с пустым параметром src, а саму ссылку записывать допустим в аттрибут спойлера и потом при клике вытаскивать из него и подставлять в src iframe? А такое сработает? Будет иакфьу загружаться если в него просто добавить параметр src?
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
06.04.2017, 14:59
MirDj, Да, если присваиваете src, то iframe перегружается, даже если вы подставите тоже значение. Такой способ часто используют, что бы просто перегрузить iframe.

Добавлено через 5 минут
MirDj, Еще такой способ с хранением src в атрибуте используют для отложенной загрузке изображений. Пример можно увидеть на ютубе. Картинки подгружаются при скролле.
1
3 / 3 / 2
Регистрация: 16.01.2013
Сообщений: 471
07.04.2017, 07:27  [ТС]
sad67man, Спасибо, буду пробовать....

Добавлено через 16 часов 26 минут
sad67man, Еще раз спасибо, всего пара строчек кода и результат достигнут
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.04.2017, 07:27
Помогаю со студенческими работами здесь

Почему не обрабатывается код?<IFRAME src = getsectioninfo.inc id = sectioninfo style = 'POSITION: absolute; VISIBILITY: hidden'></IFRAME>
Приветствую! Столкнулся с такой проблемой. Пишу '&lt;IFRAME src = getsectioninfo.inc id = sectioninfo style = 'POSITION: absolute;...

Возможно ли из iFrame обратитбся к контролу снаружи iFrame?
Имеется страница на которой есть текстбокс и iFrame. Возможно ли из страницы, загруженной в iFrame обратиться к текстбоксу, который...

Передача данных из iFrame в iFrame
Здравствуйте! Такой вопорсик: У меня на странице 2 элемента iFrame. В одном из них находится форма с данными. Как сделать сабмит...

Спойлер
Кто-нибудь подскажет, как в активности сделать спойлер? Для экономии места на экране...

Спойлер на JS
Есть два спойлера: function ShowOrHide(a){var...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru