Javascript 加载期间隐藏iFrame
我想在加载期间隐藏Javascript 加载期间隐藏iFrame,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我想在加载期间隐藏iframes,以防止背景色上出现白色矩形 我的真实js $( '#my_frame' ) .css( 'visibility', 'hidden' ) .attr( 'src', '/my_new_page.html' ) .one( 'load', function () { $( this ).css( 'visibility', 'visible' ) }); 问题是,在iframe中,我捕获了onbeforeuload
iframes
,以防止背景色上出现白色矩形
我的真实js
$( '#my_frame' )
.css( 'visibility', 'hidden' )
.attr( 'src', '/my_new_page.html' )
.one( 'load', function () {
$( this ).css( 'visibility', 'visible' )
});
问题是,在iframe
中,我捕获了onbeforeuload
事件,并阻止页面切换,因为iframe
从不触发load
事件,因此它保持隐藏状态
我该怎么做
PS:我试图在隐藏页面之前捕获unload
事件,但在更改src时它从未触发
将iframe的css设置为display:none,然后执行$(document).ready()并将css更改为display块。应该隐藏它,直到DOM加载,然后显示它 经过一些尝试,我找到了一种工作方法:
$frame
.load( function () {
this.style.visibility = 'visible';
this.contentWindow.onunload = function ( e ) {
this.window.frameElement.style.visibility = 'hidden';
};
});
当iframe加载时,我显示它,并将一个卸载事件附加到它的窗口,该事件隐藏了iframe。一个它只用于捕获事件一次;-)您的代码有效:)@BojanPetkovski-如果我阻止页面更改捕获iframe@BojanPetkovski-我添加了一个显示行为的JSFIDLE在这里,没有白色矩形此函数附加到按钮,因此,当我单击它时,iframe将隐藏更改src属性,并在加载时再次显示它。问题是:当我更改
src
并且我阻止在iframe中更改页面表单时,它仍然隐藏了很多。你真的让我开心