Ответ 1
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');
}
Удаление пространства (Report Information) из имени окна также решило проблему для меня.
Это работает для меня:
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');
У меня тоже была проблема с этой проблемой. Я написал такую функцию, как
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')
}
где в имени окна было указано пробел i.e "Подробная информация", и из-за этого всплывающее окно не работало. Просто не помещайте пробелы в имя окна.
window.open
имеет три параметра: url
, windowname
, otherfeatures
.
Для FF, если второй параметр (windowname
) не передан, он все еще работает:)
Но в IE 7,8, который мы тестировали, мы должны передать второй параметр
var newWin = window.open('', '', 'width=400, height=400, top=100, left=100');
В IE8 Использование. Эти первые два аргумента должны быть пустыми, а затем работают на IE8.
Вы можете проверить, не выбрасывает ли он ошибку javascript?
Вы можете использовать IE8, встроенный в отладчик javascript
статья поддержки Q281679 от Microsoft была выпущена для MSIE 5.5/6.0. Но это может быть применимо для MSIE 8.
В качестве альтернативы вы можете использовать метатег или заголовок совместимого с X-UA и посмотреть, можно ли это решить, прибегнув к (я лично использовал бы это как последнее средство и вместо этого попытался бы написать JavaScript, который не заставляет IE8 вести себя так, как описано).
PS: Чтобы избежать необходимости использования режима совместимости с IE8, используйте службы W3C page validator и проверите страницу в другом совместимый со стандартами браузер, например Firefox 3 (не забудьте использовать расширения Firebug и расширения веб-разработки, если вы используете FF3).
Если вы используете пробелы или тире в имени окна, IE не будет работать (по крайней мере, некоторые версии, которые я использовал).
В IE, если вы откроете одно окно с помощью window.open()
- снова, если вы хотите открыть новое окно с помощью 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');
Надеюсь, это будет полезно для вас.