2016-11-19 13 views
8

У меня есть веб-сайт (wordpress), который содержит несколько тысяч сообщений на нем. Сообщение будет выглядеть так:Вопросы Iframe нужно уменьшить время pageload

[tab:source1] 
<iframe width="560" height="315" src="https://www.youtube.com/embed/U3rKPexoEcA" frameborder="0" allowfullscreen></iframe> 
[tab:source2] 
<iframe src="https://player.vimeo.com/video/60718161?title=0&byline=0&portrait=0&badge=0" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> 
<p><a href="https://vimeo.com/60718161">HOW TO SHARPEN PENCILS</a> from <a href="https://vimeo.com/pricefilms">Pricefilms</a> on <a href="https://vimeo.com">Vimeo</a>.</p> 
[tab:source3] 
<iframe width="640" height="360" src="http://www.worldstarhiphop.com/embed/100588" frameborder="0" allowfullscreen></iframe> 

Мое время загрузки страницы иногда находится в двухзначном порядке. Я понимаю, почему это происходит, но я не уверен, как это исправить. Я хочу, чтобы исправить это либо:

Iframe setTimeout() 

Или: Dynamic асинхронная Iframe, который выглядит следующим образом:

<script> 
(function(d){ 
    var iframe = d.body.appendChild(d.createElement('iframe')), 
    doc = iframe.contentWindow.document; 

    // style the iframe with some CSS 
    iframe.style.cssText = "position:absolute;width:200px;height:100px;left:0px;"; 

    doc.open().write('<body onload="' + 
    'var d = document;d.getElementsByTagName(\'head\')[0].' + 
    'appendChild(d.createElement(\'script\')).src' + 
    '=\'\/path\/to\/file\'">'); 

    doc.close(); //iframe onload event happens 

    })(document); 
</script> 

С любым способом, как бы я применить это глобально для всех фреймов на всем сайте? Я не думаю, что можно изменить каждый iframe индивидуально.

ответ

0

Я думаю, вы лучше замените все фреймы желаемым загрузочным решением в шаблоне php перед выходом. Используйте regexp, например, <iframe.*src="([^"]*)".*\/iframe>. Я предполагаю, что замена iframes width div, содержащего загрузку gif и атрибута data-src с помощью реального iframe url, является хорошим решением. Затем используйте js load iframes внутри div после загрузки страницы.

 Смежные вопросы

  • Нет связанных вопросов^_^