Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 加载期间隐藏iFrame_Javascript_Jquery_Html_Iframe - Fatal编程技术网

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中更改页面表单时,它仍然隐藏了很多。你真的让我开心