[英]Window.open not working in IE8?
這是我目前使用的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上工作的任何想法?
IE8不喜歡窗口名稱中的空格。
從窗口名稱中刪除空格解決了問題。
在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');
}
從窗口名稱中刪除空間(報告信息)也解決了我的問題。
這對我有用:
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');
var newWin = window.open('', '', 'width=400, height=400, top=100, left=100');
在IE8中使用前兩個參數必須為空,然后才能在IE8上運行。
我也遇到過這個問題。 我寫了一個像這樣的函數
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')
}
窗口名稱中有一個空格,即“詳細信息”,因此彈出窗口無法正常工作。 只是不要在窗口名稱中添加任何空格。
window.open
有三個參數: url
, windowname
, otherfeatures
。
對於FF,如果沒有傳遞第二個參數( windowname
),它仍然有效:)
但是在我們測試的IE 7,8中,我們必須傳遞第二個參數
你能檢查它是否會引發任何javascript錯誤嗎?
你可以使用IE8內置的javascript調試器
微軟的支持文章Q281679發布於MSIE 5.5 / 6.0。 但它可能適用於MSIE 8。
或者,您可以使用X-UA兼容元標記或標頭 ,並查看是否可以通過兼容模式解決此問題(我個人會將此作為最后的手段使用,而是嘗試編寫不兼容的JavaScript導致IE8的行為如上所述)。
PS:為了避免IE8要求兼容模式,請使用W3C頁面驗證器的服務,並在另一個符合標准的瀏覽器(如Firefox 3)中測試頁面(如果使用,請不要忘記使用Firebug和Web開發工具欄擴展FF3)。
在IE中,如果你用window.open()
打開一個窗口 - 再次如果你想用window.open()
打開新窗口,它將不會打開新窗口。
為此,解決方案是 - 在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');
希望這對你有所幫助。
如果在窗口名稱中使用空格或短划線,IE將無法工作(至少我使用的某些版本)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.