这是我目前正在使用的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上工作的任何想法?
答案 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
有三个参数:url
,windowname
,otherfeatures
。
对于FF,如果未传递第二个参数(windowname
),它仍然有效:)
但是在我们测试的IE 7,8中,我们必须传递第二个参数
答案 6 :(得分:1)
var newWin = window.open('', '', 'width=400, height=400, top=100, left=100');
在IE8中使用前两个参数必须为空,然后才能在IE8上运行。
答案 7 :(得分:0)
你能检查一下是否会抛出任何javascript错误吗?
答案 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');
希望这会对你有所帮助。