Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.11.2016, 16:22
Аспирант
Отправить личное сообщение для Ilya_Ru Посмотреть профиль Найти все сообщения от Ilya_Ru
 
Регистрация: 06.04.2015
Сообщений: 42

не загружать iframe, если ширина меньше 680px
Здравствуйте. Есть вот такой код с отложенной загрузкой iframe:
<style>
body {
  background:#53d5f3;
}
iframe {
  width:600px;
  height:500px;
}
</style>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
var src   = "http://javascript.ru/forum/dom-window/",
    pause = 2000; 
$(function(){
  setTimeout(function(){
    $('.iframe').attr('src',src)
  }, pause);
});
</script>
<iframe class="iframe" src="" frameborder="0"></iframe>


А как в этом скрипте сделать так, чтобы iframe не загружался совсем при ширине экрана меньше 680px?
Ответить с цитированием
  #2 (permalink)  
Старый 04.11.2016, 17:03
Аспирант
Отправить личное сообщение для fuckingquest Посмотреть профиль Найти все сообщения от fuckingquest
 
Регистрация: 28.10.2016
Сообщений: 70

screen.width не то?
Ответить с цитированием
  #3 (permalink)  
Старый 04.11.2016, 17:38
Аспирант
Отправить личное сообщение для Ilya_Ru Посмотреть профиль Найти все сообщения от Ilya_Ru
 
Регистрация: 06.04.2015
Сообщений: 42

а пример привести не сможешь?)))
Ответить с цитированием
  #4 (permalink)  
Старый 04.11.2016, 17:55
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

после строки
$(function(){
добавь строку
if (screen.width < 680) { return; }
Ответить с цитированием
  #5 (permalink)  
Старый 04.11.2016, 18:06
Аспирант
Отправить личное сообщение для Ilya_Ru Посмотреть профиль Найти все сообщения от Ilya_Ru
 
Регистрация: 06.04.2015
Сообщений: 42

<style>
body {
  background:#53d5f3;
}
iframe {
  width:100%;
  height:500px;
}
</style>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
var src   = "http://javascript.ru/forum/dom-window/",
    pause = 2000; 
$(function(){
if (screen.width < 680) { return; }
  setTimeout(function(){
    $('.iframe').attr('src',src)
  }, pause);
});
</script>
<iframe class="iframe" src="" frameborder="0"></iframe>

Так? браузер сжимал до 500px, iframe все равно вылазиет
Ответить с цитированием
  #6 (permalink)  
Старый 04.11.2016, 18:09
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

Сообщение от Ilya_Ru
Так? браузер сжимал до 500px, iframe все равно вылазиет
screen.width - это ширина экрана в пикселях
его тоже сжимал ?

если нужны размеры страницы или окна браузера почитай http://learn.javascript.ru/metrics-window
Ответить с цитированием
  #7 (permalink)  
Старый 04.11.2016, 19:05
Аспирант
Отправить личное сообщение для Ilya_Ru Посмотреть профиль Найти все сообщения от Ilya_Ru
 
Регистрация: 06.04.2015
Сообщений: 42

По сути, так?
<style>
body {
  background:#53d5f3;
}
iframe {
  width:100%;
  height:500px;
}
</style>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
var src   = "http://javascript.ru/forum/dom-window/",
    pause = 2000; 
$(function(){
alert(window.innerWidth);
if (window.innerWidth < 680) { return; }
  setTimeout(function(){
    $('.iframe').attr('src',src)
  }, pause);
});
</script>
<iframe class="iframe" src="" frameborder="0"></iframe>

Что-то не так. При размере 500px все равно грузит.

Последний раз редактировалось Ilya_Ru, 04.11.2016 в 22:05.
Ответить с цитированием
  #8 (permalink)  
Старый 04.11.2016, 19:33
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

если про пример кода выше в этом форуме
то он запускается во фрейме
используйте в начале кода например
[HTML run width=600 height=600]
...

это будет имитировать окно 600 на 600
Ответить с цитированием
  #9 (permalink)  
Старый 04.11.2016, 19:51
Аспирант
Отправить личное сообщение для Ilya_Ru Посмотреть профиль Найти все сообщения от Ilya_Ru
 
Регистрация: 06.04.2015
Сообщений: 42

Я его запускал локально на смарте. Сейчас на сайте поправил, как вы писали.

На самом сайте наоборот, не запускается даже при значении в widch=900

Последний раз редактировалось Ilya_Ru, 04.11.2016 в 19:55.
Ответить с цитированием
  #10 (permalink)  
Старый 04.11.2016, 19:55
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

у меня теперь пример выше, который 600x600 не загружает фрейм.

Это и нужно было ?

добавь в код для смартфона
после строки
$(function(){
строку
alert(window.innerWidth);

и будет понятно какую ширину браузер в смартфоне подразумевает.

Последний раз редактировалось Pavel M., 04.11.2016 в 20:00.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плавающее меню внутри iframe _Alex9_ Общие вопросы Javascript 2 22.11.2015 11:14
Как сделать, чтобы скрипт работал только если текущий документ iframe? ruslan_mart Общие вопросы Javascript 10 14.01.2015 13:56
Присвоить class к img если ее ширина < 200px - как? ufaclub jQuery 5 22.04.2014 23:50
Если введеное значение меньше то Tchort Общие вопросы Javascript 12 23.03.2010 11:25
iframe | закрыть если... Geek Events/DOM/Window 5 30.09.2008 16:23