Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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 在Safari中加载图像后打印子窗口_Javascript_Html_Printing_Safari_Dom Events - Fatal编程技术网

Javascript 在Safari中加载图像后打印子窗口

Javascript 在Safari中加载图像后打印子窗口,javascript,html,printing,safari,dom-events,Javascript,Html,Printing,Safari,Dom Events,我有一个打印按钮,它打开一个包含要打印内容的新窗口,加载包含的图片(带有src属性的img标记)后调用window.print var newWindow = window.open('', 'MyTitle'); newWindow.document.open(); newWindow.document.write(myPrintContent) newWindow.onload = function() { newWindow.print(); } newWindow.documen

我有一个打印按钮,它打开一个包含要打印内容的新窗口,加载包含的图片(带有src属性的img标记)后调用window.print

var newWindow = window.open('', 'MyTitle');
newWindow.document.open();
newWindow.document.write(myPrintContent)
newWindow.onload = function() {
    newWindow.print();
}
newWindow.document.close(); // necessary for IE >= 10
newWindow.focus(); // necessary for IE >= 10
除了Safari之外,这在每个测试过的浏览器(Chrome、FF、IE)中都能正常工作,Safari在加载图像之前会触发onload(DOM内容正确显示)

加载事件在文档加载过程结束时激发。在 此时,文档中的所有对象都在DOM中,并且 图像、脚本、链接和子帧已完成加载

我尝试使用onpageload,但得到了相同的效果


有没有办法等待在safari中加载所有图片?

我正在等待dom中的多张图片,因此我需要一个全局文档事件(我认为?)没有“全局”事件。相反,您可以对所有图像进行计数,并在每个图像加载时将一个图像添加到另一个计数器。当计数器匹配图像数时,调用print。我以为这是一个应该像我预期的那样工作的事件?你会这么认为,但它工作吗?