gpt4 book ai didi

Javascript 窗口写入回调

转载 作者:行者123 更新时间:2023-11-29 21:44:17 27 4
gpt4 key购买 nike

有没有办法让父窗口知道子窗口何时加载了它的内容? child 中没有任何脚本。

这是我当前的代码:

var printWindow = window.open('', '_blank');
printWindow.document.write(clonedElement.html());
printWindow.onreadystatechage = function() {
console.log('this does not work.');
};

最佳答案

您有在 window 上触发的相同事件,因此如果您打开已经包含 html 的页面,您可以获得 load 事件,例如

var b = new Blob([clonedElement.html()], {type: 'text/html'}),
uri = URL.createObjectURL(b),
printWindow;
printWindow = window.open(uri, '_blank');
printWindow.addEventListener('load', function () {
URL.revokeObjectURL(uri); // release these
b = null; // from memory
// do something else
});

请注意这里会有一个竞争条件(尽管您几乎总是会赢,即如果页面加载并且事件在打开和添加监听器之间触发)


或者,没有比赛

var b = new Blob([clonedElement.html()], {type: 'text/html'}),
uri = URL.createObjectURL(b),
printWindow = window.open('', '_blank');
printWindow.addEventListener('load', function () {
URL.revokeObjectURL(uri); // release these
b = null; // from memory
// do something else
});
printWindow.location = uri;

关于Javascript 窗口写入回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31727123/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com