Javascript 在加载DOM之前,使用Js/jQuery将iframe作为目标

Javascript 在加载DOM之前,使用Js/jQuery将iframe作为目标,javascript,jquery,servicenow,Javascript,Jquery,Servicenow,为了防止iframe闪烁,我在setTimeout内设置其可见性(CSS设置为可见性:隐藏) 效果很好,不过当我加载帧内的后续位置时,闪烁行为会返回,因为可见性已设置 我想做的是创建一个函数,在加载DOM/页面之前以iframe为目标,再次将可见性设置为hidden,然后设置Timeout 请记住,此脚本将在ServiceNow平台上运行,这意味着某些选项受到限制(无法加载到文档头等) 它有点像反向文档。ready()。这可能吗 谢谢你的线索 Paco只需在源代码中设置它: <iframe

为了防止iframe闪烁,我在setTimeout内设置其可见性(CSS设置为可见性:隐藏)

效果很好,不过当我加载帧内的后续位置时,闪烁行为会返回,因为可见性已设置

我想做的是创建一个函数,在加载DOM/页面之前以iframe为目标,再次将可见性设置为hidden,然后设置Timeout

请记住,此脚本将在ServiceNow平台上运行,这意味着某些选项受到限制(无法加载到文档头等)

它有点像反向文档。ready()。这可能吗

谢谢你的线索


Paco

只需在源代码中设置它:

<iframe style="display: none;"></iframe>

然后在需要时取消隐藏

$('buttonToChangeTheIframePage').click(function(e){
    e.preventDefault();

      $('#myFrame').css('visibility','hidden'); 
      $('#myFrame').delay(1000).css('visibility','visible');
});
这假设您是从iframe外部加载位置-iframe中的任何内容(如链接)仍将触发此行为

编辑

这实际上更好,并且适用于所有情况(我认为-只需检查没有测试的愚蠢错误)


函数hideUnhide(){
$('myFrame').css('visibility','hidden').delay(1000).css('visibility','visible');
}

js\u include\u doc\u type.js中使用
addAfterPageLoadedEvent(func)

<iframe id="gsft_main" style="visibility: hidden;">

anything ....

<script>
 addAfterPageLoadedEvent(function() {
    $j('#gsft_main').css('visibility','visible');
 });
</script>

</iframe>

任何东西
addAfterPageLoadedEvent(函数(){
$j('gsft_main').css('visibility','visibility');
});

javascript需要一个事件才能运行。找出什么事件导致iframe发生更改,并说事件隐藏它,然后根据需要重新显示。嗨,Paco,你找到解决方案了吗?我被卡住了,试图用Jelly隐藏UI页面中的所有内容,而且似乎它总是在Dom加载完成后被触发。谢谢,我确实在iframe内部加载位置。
<iframe id="myFrame" src="http://www.google.com/" onLoad="hideUnhide();"></iframe>

function hideUnhide(){
    $('#myFrame').css('visibility','hidden').delay(1000).css('visibility','visible');

}
<iframe id="gsft_main" style="visibility: hidden;">

anything ....

<script>
 addAfterPageLoadedEvent(function() {
    $j('#gsft_main').css('visibility','visible');
 });
</script>

</iframe>