我有这个问题:
用户点击指向其他页面的链接。发生此事件时,我想加载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每次都没有加载(有时候新页面开始加载太快)。
答案 0 :(得分:0)
使用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传递参数的网址,如果有更多iframe和链接来控制,请通过类而非ID来管理所有内容