Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Открыть новую вкладку из JavaScript (https://javascript.ru/forum/events/21926-otkryt-novuyu-vkladku-iz-javascript.html)

debugx 29.09.2011 15:49

Открыть новую вкладку из JavaScript
 
Всем привет,
Есть динамически сформированный html-код страницы. Нужно этот html показать в отдельной вкладке браузера. Как это сделать?

DjDiablo 29.09.2011 21:23

другая вкладка, это другое окно. А вот как окно или как вкладка оно будет отображаться,это будет зависить от браузера и его настроек. Тоесть даже если для пары браузеров ты найдёш хитрости, то всё равно правильную работу, везде гарантировать несможешь.

melky 29.09.2011 21:31

with( window.open("","","width=300,height=300").document  ){
   open();
   write('<h1>Hello</h1><button onclick="close()">закрыть</button>');
   close();
}

Magneto 30.09.2011 07:24

максимка )), по умолчанию браузер блокирует всплывающие окна.

melky 30.09.2011 09:11

угу. но почему-то хром это окно не заблочил :)

Magneto 30.09.2011 10:12

А у меня все браузеры заблокировали это окно, браузеры у меня последних стабильных версий с настройками по дефолту. Хром, Фаерфокс, ИЕ, Опера, а в Сафари появилась ошибка.

melky 30.09.2011 10:15

в сафари ? что за ошибка (не могу посмотреть пока)

da_ff 30.09.2011 11:15

melky,
Хром открыл поскольку пример находился на доверенном узле (возможно раньше разрешил).
Чтобы песочница js не заблокировала открытие окна, надо вызов window.open поместить внутри события вызываемого пользователем, к таким относится click.

Если со старым примером, то
function onClick () {
  with( window.open("","","width=300,height=300").document  ){
    open();
    write('<h1>Hello</h1><button onclick="close()">закрыть</button>');
    close();
  }
}
<button onclick="onClick()">click me</button>

Magneto 30.09.2011 11:16



Часовой пояс GMT +3, время: 13:27.