我有一个显示多个图像的弹出窗口,图像数量可能会根据用户的操作而改变。这些图像每次加载大约需要1.5秒,但这可能会根据机器速度而改变。
我需要一种等待弹出窗口完成加载所有图像然后执行脚本的方法,这样做的最佳方法是什么?
修改
popup.document.body.setAttribute("onload","alert('hello');");
//Wait for the popup to finish loading
popup.onload = function() {
popup.alert("loaded");
};
以上都不起作用......
编辑2 现在感谢Diodeus。这是代码:
popup.document.write(
'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">'+
'<html><head>'+
'<script type="text/javascript">'+
'var i = '+doc('print_container2').getElementsByTagName('img').length+'; var c = 0;'+
'function count_loaded() {'+
'if (c == i) {'+
'document.getElementById("print_container").style.display = "block";document.getElementById("loading").style.display = "none";'+
'focus();print();close();'+
'}'+
'}'+
'</script>'+
' <link rel="stylesheet" href="css/css.css">'+
'</head><body><h1 id="loading">Loading... please wait...</h1>'+
'</body></html>'
);
以下是图片:
$hires .= "<img onLoad=\"c++;count_loaded();\" id=\"L".$key."_".$key2."_".$i."\" data-quantity=\"".$value2['quantity']."\" onclick=\"disable_print(this,'print_container')\" src=\"".$_SESSION['ROOT_DIR']."php/generateimage.php?imgname=".$_SESSION['ROOT_PATH']."data/images/".$value2['location']."&restraint=".$restraint."\" class=\"\" />";
查看onLoad事件。