等到弹出窗口完成加载执行javascript

时间:2014-03-10 21:05:08

标签: javascript

我有一个显示多个图像的弹出窗口,图像数量可能会根据用户的操作而改变。这些图像每次加载大约需要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事件。

0 个答案:

没有答案