Я использую window.open для заполнения нового окна с различным содержимым. В основном отчеты и хранимые HTML файлы из автоматизированных процессов.
Я заметил очень несовместимое поведение с Chrome относительно window.open().
Некоторые мои вызовы создадут новую вкладку (предпочтительное поведение) и некоторые всплывающие окна.
var w = window.open('','_new');
w.document.write(page_content);
page_content - это обычный HTML-код из вызовов AJAX. Отчеты содержат некоторую информацию в заголовке, например заголовке, значке и некоторых таблицах стилей.
В IE9 код вызывает новую вкладку вместо всплывающего окна, в то время как Chrome категорически отказывается отображать содержимое, о котором идет речь, на новой вкладке. Поскольку контент - это важные бизнес-данные, я не могу опубликовать его здесь. Я отвечу на вопросы, если смогу.
Я знаю, что некоторые люди скажут, что это поведение остается за пользователем, но это внутренняя бизнес-платформа. У нас нет времени обучать всех пользователей тому, как управлять всплывающими окнами, и нам просто нужно, чтобы они были на новой вкладке. Heck, даже новое окно было бы предпочтительнее всплывающего окна, так как вы не можете прикрепить всплывающее окно в Chrome. Не говоря уже о том, что ни один из блоков блокировки всплывающих окон не повлияет на него.
Цените любое понимание.