如何使用vanilla javascript延迟文档加载事件?

如何使用vanilla javascript延迟文档加载事件?,javascript,iframe,cookies,Javascript,Iframe,Cookies,我正在寻找类似jQuery.holdReady()的东西,但只使用vanilla JS。我有一个iframe,它正在异步加载一些内容。以及iframe外部的侦听器,侦听其加载事件以设置cookie。有没有一种方法可以延迟加载事件,直到cookie被异步设置 myiframe.html <script> asyncFunction().then(() => { document.cookie = 'mycookie=value"; // I have to load a

我正在寻找类似jQuery.holdReady()的东西,但只使用vanilla JS。我有一个iframe,它正在异步加载一些内容。以及iframe外部的侦听器,侦听其加载事件以设置cookie。有没有一种方法可以延迟加载事件,直到cookie被异步设置

myiframe.html
<script>

asyncFunction().then(() => {
  document.cookie = 'mycookie=value";
  // I have to load a third party script after i set the cookie async-ly
  appendThirdPartyScriptThatReadsCookie(); // blackbox
  manuallyFireLoadEvent(); // if i could use jquery in the frame: jQuery.holdReady()
});    
</script>

mainpage.html
<iframe src="myiframe.html">
//I cannot control the way this page listens for the cookie from the iframe.
$('iframe').on('load', () => console.log(document.cookie)); // blackbox
myiframe.html
asyncFunction()。然后(()=>{
document.cookie='mycokie=value';
//我必须在异步设置cookie后加载第三方脚本
附录第三方脚本ThatReadScookie();//黑盒
manuallyFireLoadEvent();//如果我可以在框架中使用jquery:jquery.holdReady()
});    
mainpage.html
//我无法控制此页面从iframe侦听cookie的方式。
$('iframe').on('load',()=>console.log(document.cookie));//blackbox

我有一个要求,我必须异步获取iframe内部的数据,以获取需要设置为cookie的数据。我无法控制的第三方脚本从iframe查看iframe中的cookie。另一个第三方侦听器侦听iframe。遗憾的是,它正在使用加载侦听器,因此我需要确保只有在我有异步cookie时才触发它。这不是一个好情况,但这是我所处的情况。onload真的触发了吗?我希望您需要在iFrame之前设置onload:对于jquery,是的,它触发了。标准dom侦听器不触发。同样,这段代码是一个黑盒,只是为了让您了解侦听器的功能可以说,它有一些基于加载dom的加载事件与iframe通信的方法。