我有一些代码可以打开弹出窗口,然后通过弹出页面上的某些元素调整其大小。以下代码可在Chrome和Firefox中正常运行,但不能在IE上正常运行。



var newWin ;
    function openWindow(id) {
        newWin = window.open(url,config,setting);
        newWin.onload= function () {
              newWin.resizeTo(newWin.document.getElementById("certainID").offsetWidth,100);
        };





在IE10中,将会弹出一个窗口,但window.load事件将永远不会触发。
我也尝试newWin。$(document).ready,但似乎无效。

有什么建议吗?

最佳答案

最后,我通过setTimeout解决此问题,以检查弹出窗口中的元素何时生成良好,然后调整弹出窗口的大小



var newWin ;
    function openWindow(id) {
        newWin = window.open(url,config,setting);
        var resizePopup = function () {
                newWin.resizeTo(newWin.document.getElementById("certainID").offsetWidth,100);
                newWin.focus();
            };
        var tryResize = function(){
                if(newWin.document.getElementById("certainID")==null){
                    setTimeout(function(){tryResize();},500);
                }
                else{
                    resizePopup();
                }
            }
        tryResize();
        };

08-19 15:16