我有一些代码可以打开弹出窗口,然后通过弹出页面上的某些元素调整其大小。以下代码可在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();
};