Запретить загрузку содержимого скрытого iframe

у меня много скрытых <div> теги, с (display: none), который я вызываю, когда хочу загрузить модальный jQuery. Каждый из этих <div> содержать теги <iframe> который вызывает другую страницу.

чтобы моя страница не загружалась болезненно медленно, мне интересно, есть ли способ предотвратить <iframe> от загрузки страницы, пока я не вызову <div> в режимное?

2 ответов


вы можете загрузить iframes после отображения html, предоставив пустой src в html iframe и позже назначив src jquery / javascript.

HTML-код

<iframe id="iframe1" ></iframe>

Javascript, iframe может быть загружен на некоторые действия, как кнопка нажмите

document.getElementById('iframe1').src="/default.aspx";

As kern3l сказал, Мы можем добавить атрибут данных в iframe для проведения src вместо жесткого кодирование.

HTML-код

<iframe id="iframe1" data-frameSrc="/default.aspx"></iframe>

в JavaScript

ifrmame1 = $('#iframe1')
ifrmam1.src = ifrmam1.data("frameSrc");

вы также можете сделать новый кадр в jquery и назначить src, это загрузит страницу с пустой рамкой.

$('<iframe>', {
   src: '/default.aspx',
   id:  'myFrame',
   frameborder: 0,
   scrolling: 'no'
   }).appendTo('#parentDivId'); 

или

var iframe = document.createElement('iframe');
iframe.frameBorder=0;
iframe.width="300px";
iframe.height="250px";
iframe.id="myFrame";
iframe.setAttribute("src", '/default.aspx');
document.getElementById("parentDivId").appendChild(iframe);

просто используйте один iframe:

<iframe id='page' src=''></iframe>

затем assign src on each click на button/link:

предположим, что это html:

<ul>
  <li><a href='myfolder/myPage1.html'>Page 1</a></li>
  <li><a href='myfolder/myPage2.html'>Page 2</a></li>
</ul>

затем jquery:

$('ul li a').click(function(e){
   e.preventDefault();
   $('#page').attr('src', $(this).attr('href'));
});