我有这个通用的javascript函数来打开一个窗口:
function OpenWindow(url,windowname,wide,high)
{
spop=window.open(url,windowname,"width="+wide+",height="+high+",scrollbars=1,resizable=1,statusbar=1,menubar=0");
spop.moveTo(Math.round((screen.availWidth-wide)/2),Math.round((screen.availHeight-high)/2));
spop.focus();
}
打开后,我将其移动到屏幕中间。 问题是Chrome目前正在隐藏打开的窗口(它在Explorer和Firefox中工作正常)。它打开它,移动它,然后窗户保持最小化和不可接受。
有趣的是,如果我在调用该函数的链接上双击,那么窗口会出现在它应该的位置,只是它的大小和高度不正确(它非常小,我要调整它的大小)。更有趣的是,它曾经在Chrome中运行,但几个月前停止了工作。
问题不在于focus()调用(我发现人们遇到问题)。如果我删除moveTo(),窗口会出现(但不会居中)。
有什么想法吗? 谢谢!
答案 0 :(得分:1)
事实证明,这是当前Chrome版本中的一个已知错误:
http://code.google.com/p/chromium/issues/detail?id=115585
似乎修复是在调用open之后延迟对resizeTo或moveTo的任何调用,例如:
setTimeout(function(){
spop.moveTo(
Math.round((screen.availWidth - wide) / 2),
Math.round((screen.availHeight - high) / 2)
);
spop.focus();
},100);
不是最优雅的解决方案,但它应该足够,直到修复错误。