Window.open无法在IE8中运行?

时间:2009-09-18 13:53:08

标签: javascript internet-explorer-8

这是我目前正在使用的JavaScript:

window.open('/modules/mod_oneononechat/chatwindow.php?key='+key+'&color=blue','x'+winName+'x','location=0,status=0,toolbar=0,menubar=0,resizable=0,scrollbars=0,height=375,width=420');

这似乎不适用于IE8。 这是一个聊天窗口,适用于所有其他浏览器(包括IE7)。关于它为什么不能在IE8上工作的任何想法?

11 个答案:

答案 0 :(得分:71)

IE8不喜欢窗口名称中的空格。

答案 1 :(得分:4)

从窗口名称中删除空格解决了这个问题。

答案 2 :(得分:4)

在IE8中,下面的功能没有弹出一个新窗口,而是在Mozilla和Chrome中完美运行。

function openReports(reportUrl){
   window.open(reportUrl,'Report Information','height=800,width=1000,left=200,top=200,toolbars=no,resizable=no,scrollbars=auto,location=no');
}

从窗口名称中删除空间(报告信息)也解决了我的问题。

答案 3 :(得分:1)

这对我有用:

javascript:window.open('http://google.com', 'x'+'winName'+'x', 'location=0', 'status=0', 'toolbar=0', 'menubar=0', 'resizable=0', 'scrollbars=0', 'height=375', 'width=420');

答案 4 :(得分:1)

我也遇到过这个问题。我写过像

这样的函数
function newPopup(url) {
      popupWindow=window.open(url,'Detailed Informations','height=700,width=1000,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes')
}

窗口名称中有一个空格,即“详细信息”,因此弹出窗口无法正常工作。只是不要在窗口名称中添加任何空格。

答案 5 :(得分:1)

window.open有三个参数:urlwindownameotherfeatures

对于FF,如果未传递第二个参数(windowname),它仍然有效:)

但是在我们测试的IE 7,8中,我们必须传递第二个参数

答案 6 :(得分:1)

var newWin = window.open('', '', 'width=400, height=400, top=100, left=100');

在IE8中使用前两个参数必须为空,然后才能在IE8上运行。

答案 7 :(得分:0)

你能检查一下是否会抛出任何javascript错误吗?

您可以使用IE8 built in javascript debugger

答案 8 :(得分:0)

Microsoft的support article titled Q281679是针对MSIE 5.5 / 6.0发布的。但它可能适用于MSIE 8。

或者,您可以使用X-UA-Compatible meta tag or header,并查看是否可以通过兼容模式解决此问题(我个人会将此作为最后的手段使用,而是尝试编写不会导致的JavaScript IE8的行为如上所述。)

PS:为了避免IE8要求兼容模式,请使用W3C page validator的服务,并在另一个符合标准的浏览器(如Firefox 3)中测试页面(不要忘记使用Firebug和Web开发如果您使用FF3,则工具栏扩展名。

答案 9 :(得分:0)

如果在窗口名称中使用空格或破折号,则IE将无效(至少我使用的某些版本)。

答案 10 :(得分:0)

如果您使用window.open()打开一个窗口,则在IE中显示 - 如果您想使用window.open()打开新窗口,则不会打开新窗口。

为此,解决方案是 - IN Window.open参数传递此参数"copyhistory=no"

例如:

WindowName = window.open('','Name','height=320,width=428,toolbar=no, 
     menubar=no,scrollbars=no, resizable=no,location=no, directories=no,    
     status=no,copyhistory=no');

希望这会对你有所帮助。