在离开页面之前加载 iframe

Load iframe before leaving the page

本文关键字:加载 iframe 离开      更新时间:2023-09-26

我有这个问题:

用户单击指向其他页面的链接。当此事件发生时,我想加载一个 iframe。我需要在新页面开始加载之前加载该 iframe。

我该怎么做?

编辑:

我有代码休耕:

function letsDoThis(parameter)
{
    var iframe=document.createElement('iframe');
    iframe.src="http://xxxxxxxxx"+parameter;
    iframe.width='1';
    iframe.height='1';
    document.body.appendChild(iframe);
}
var a=$('#MY_BUTTON')[0].href;
$('#MY_BUTTON')[0].addEventListener('click',function(){letsDoThis(a);});

但是在此解决方案中,iframe不会每次加载(有时新页面会开始加载太快)。

使用 jQuery,您可以轻松解决此问题:

$('body').on('click', 'a#MY_BUTTON', function(e) {
    
    e.preventDefault();
    
    var url_a = $(this).attr('href');
    
    var ifr=$('<iframe/>', {
        id:'DynamicIframe',
        src:'http://stackoverflow.com/',
        style:'width:1px; height: 1px;',
        load:function(){
            console.log('iframe loaded!');
            //document.location.href = url_a;
            alert(url_a);
        }
    });
    
    $('body').append(ifr); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a href='http://www.google.it/' id='MY_BUTTON' >Click!</a>

您应该更改所需的 iframe 传递参数的 url,并且在有更多的 iframe 和链接到控制的情况下,通过类而不是按 ID 管理所有内容