Javascript 仅在加载iframe页面时显示DIV
我在一个DIV中有一个iframe页面,我只希望在iframe页面加载/可用后显示该DIV。如果iframe页面不加载/不可用,则根本不显示该DIV 我写了一些JS,但是它并没有像我预期的那样工作,不管iframe页面是否可用,DIV仍然会显示 代码:Javascript 仅在加载iframe页面时显示DIV,javascript,jquery,iframe,Javascript,Jquery,Iframe,我在一个DIV中有一个iframe页面,我只希望在iframe页面加载/可用后显示该DIV。如果iframe页面不加载/不可用,则根本不显示该DIV 我写了一些JS,但是它并没有像我预期的那样工作,不管iframe页面是否可用,DIV仍然会显示 代码: var adContainer=$('.ad container'); //检查广告容器是否存在 如果(adContainer.length>0){ //仅在加载iframe页面后显示广告 adContainer.find('iframe').
var adContainer=$('.ad container');
//检查广告容器是否存在
如果(adContainer.length>0){
//仅在加载iframe页面后显示广告
adContainer.find('iframe').load(函数(){
css('display','block');
});
}
您应该在文档中更改iframe src。准备好
以使其触发您的iframe加载事件。您可以尝试以下操作:
$(document).ready(function() {
$('#frame').bind('load', function() { //binds the event
$('#ad-container').show();
});
var newSrc = $('#frame').attr('src') + '?c=' + Math.random(); //force new URL
$('#frame').attr('src', newSrc); //changing the src triggers the load event
});
即使页面是否可用,iframe仍会加载。您需要在iframe中有一个控件来通知父窗口。不幸的是,我对iframe页面没有权限。没有其他解决方案吗?一种解决方法是创建一个对url的ajax请求,如果返回成功,则更新div显示。但这不是一个好的解决方案,因为将向第三方网站提出两个请求。
$(document).ready(function() {
$('#frame').bind('load', function() { //binds the event
$('#ad-container').show();
});
var newSrc = $('#frame').attr('src') + '?c=' + Math.random(); //force new URL
$('#frame').attr('src', newSrc); //changing the src triggers the load event
});