javascript- window.open в сафари и хром в теле? - PullRequest
0 голосов
/ 13 марта 2012

Я добавляю следующий javascript во время выполнения, чтобы открыть новое окно браузера. Я знаю, что window.open доступен в javascript. Но это не работает для сафари и хрома. Есть ли какая-либо другая хитрость или техника ловли для достижения этой цели?

     string script= "window.open('http://www.w3schools.com','_blank','toolbar=yes,location=yes,directories=no,status=1,menubar=yes,scrollbars=yes,resizable=no,copyhistory=yes,left=20,top=20,width=600,height=550');";

ScriptManager.RegisterStartupScript(this, this.GetType(), "newWindowScript",  script, true);

Спасибо

Ответы [ 2 ]

0 голосов
/ 13 марта 2012

window.open() наверняка работает в Safari и Chrome, я использовал его сегодня! Демоверсии на сайте w3Schools работают в Chrome

Попробуйте переместить код в стандартный внутристраничный блок <script> (очевидно, с удаленными файлами .net), чтобы проверить и увидеть, нет ли ошибок в консоли.

Возможно, одна из функций, которую вы передаете в качестве третьего аргумента .open(), - это ломать вещи (например, функция истории копирования - я никогда раньше этого не видел, и ее нет в списке доступных опций в w3Schools). сайт)? Я заметил, что Chrome имеет тенденцию игнорировать ширину и открывать его до любого размера, который он хочет ...

0 голосов
/ 13 марта 2012

Это из-за блокировки всплывающих окон в браузере. Вы можете использовать модальное всплывающее окно Ajax вместо Window.Open

http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/ModalPopup/ModalPopup.aspx

Другой вариант - всплывающее окно Jquery. http://yensdesign.com/2008/09/how-to-create-a-stunning-and-smooth-popup-using-jquery/

если вам все еще нужно использовать Window.Open, пожалуйста, обратитесь к этому

Обойти блокировку всплывающих окон в window.open, когда JQuery event.preventDefault () установлен

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...