Дополнительно
Открытие URL-адреса в новой вкладке (а не в новом окне) с помощью JavaScript
Я пытаюсь открыть URL в новой вкладке, а не во всплывающем окне.
Я'видел похожие вопросы, где ответы выглядели примерно так:
window.open(url,'_blank');
window.open(url);
Но ни один из них не сработал для меня, браузер по-прежнему пытался открыть всплывающее окно.
1923
20
Это трюк,
В большинстве случаев, это должно произойти непосредственно в функция onclick` обработчик для ссылки, чтобы предотвратить блокировку всплывающих окон и по умолчанию "в новом окне" и поведение. Вы могли бы сделать это таким образом, или путем добавления слушателя события для объекта "дом".
http://www.tutsplanet.com/open-url-new-tab-using-javascript/
Автор ничего не может сделать, чтобы выбрать открытие в новой вкладке вместо нового окна; это предпочтение пользователя.
CSS3 предлагал target-new, но от этой спецификации отказались.
Обратное** не верно; указав размеры окна в третьем аргументе
window.open()
, вы можете вызвать новое окно, когда предпочтение отдается вкладкам.окна
.открыть()
не будет открываться в новой вкладке, если это не происходит на фактическое событие click. В приведенном примере URL-адрес будет открыт на реальное событие click. Это будет работать при условии, что пользователь имеет соответствующие настройки в браузере.Аналогично, если вы пытаетесь сделать AJAX-вызов внутри функции click и хотите открыть окно на успех, убедитесь, что вы делаете AJAX-вызов с использованием ключевых слов async : параметр значение false.
окно#`.открыть не может надежно открывать всплывающие окна в новой вкладке во всех браузерах
Разные браузеры реализуют поведение окна
.откройте
по-разному, особенно с учетом пользователя's в настройках браузера. Вы не можете ожидать такое же поведение для окна.открыть`, чтобы быть правдой во всех интернет Explorer, Firefox и Chrome, из-за различных способов, в которых они обрабатывают пользователя'настройки с браузера.Например, интернет&ампер;усилитель; nbsp;проводник (11) пользователи могут выбрать, чтобы открыть всплывающие окна в новом окне или новой вкладке, вы не можете заставить интернет&ампер;усилитель; nbsp;Обозреватель&ампер;усилитель; nbsp;11 пользователям открывать всплывающие окна в определенном смысле через окно.открыть`, как отмечено в Квентин'ы ответить.
Как и для Firefox (29) пользователи, через окно.открыть(URL-адрес, 'настроек')` зависит от браузера'ы вкладке Настройки хотя вы все еще можете заставить их открывать всплывающие окна в новом окне с указанием ширины и высоты (см. "что о Chrome?&и" раздел ниже).
Демонстрация
Зайти в браузер'параметры S и настроить его, чтобы открыть всплывающие окна в новом окне.
Интернет Эксплорер (11)
Тест ## Страница
После настройки Интернет Эксплорер (11) открывать всплывающие окна в новом окне, как показано выше, используйте следующую тестовую страницу в окне теста.открыт`:
Заметим, что окна открыты в новом окне, а не в новой вкладке.
Вы также можете проверить эти фрагменты выше в Firefox (29) со своей вкладке "Настройки" установить новые окна, и увидеть те же результаты.
А Что Насчет Хрома? Он реализует окна`.открывай по-разному из интернета&ампер;усилитель; nbsp;проводник (11) и Firefox (29).
Я'м не уверен на 100%, но похоже, что хром (версия 34.0.1847.131 м) не оказывает какого-либо параметры, которые пользователь может использовать, чтобы выбрать, будет ли или не открывать всплывающие окна в новом окне или новой вкладке (как Firefox и Internet&ампер;усилитель; nbsp;проводника). Я проверил хром документации для управления всплывающие окна, но это не'т не упоминал о такого рода вещи.
Кроме того, в очередной раз, похоже, разные браузеры, чтобы реализовать поведение окна
.откройте
по-разному. В Chrome и Firefox, с указанием ширины и высоты заставит всплывающее окно, даже когда пользователь имеет установить Firefox (29), чтобы открывать новые окна в новой вкладке (как уже упоминалось в ответах на [JavaScript-код откроется в новом окне, а не вкладке][Другие]):Однако в том же фрагменте кода выше всегда открыть новую вкладку в Internet&ампер;усилитель; nbsp;Обозреватель&ампер;усилитель; nbsp;11 если пользователи вкладок в браузере предпочтения, даже не указание ширины и высоты силу новое всплывающее окно для них.
Так что поведение окне.откройте в Chrome, кажется, чтобы открыть всплывающие окна в новой вкладке при использовании в
функция onclick
событие, чтобы открывать их в новых окнах при использовании в браузере консоли ([как отмечали другие люди][примечание]), и открывать их в новых окнах при указании ширины и высоты.Резюме
Разные браузеры реализуют поведение окна
.откройте
по-разному по отношению к пользователям' настройки браузера. Вы не можете ожидать такое же поведение для окна.открыть`, чтобы быть правдой во всех интернет Explorer, Firefox и Chrome, из-за различных способов, в которых они обрабатывают пользователя'настройки с браузера.Дополнительное Чтение
Один лайнер:
Он создает виртуальную " а " элемента, дает ему цель=то"настроек" и поэтому он открывает в новой вкладке, дает ему правильного
URL-адрес
рот
и нажимает ее.И если вы хотите, основываясь на том, что можно создать какую-то функцию:
и затем вы можете использовать его как:
Если вы используете окно`.открыть(URL-адрес, 'настроек'), она будет заблокирована (блокировка всплывающих окон) на Хром.
Попробуйте это:
С чистого JavaScript,
Чтобы уточнить ответ Стивена Спилберга', я сделал это в таком случае:
Таким образом, непосредственно перед тем, как браузер перейдет по ссылке, я устанавливаю атрибут target, чтобы ссылка открылась в новой вкладке или окне (зависит от настроек пользователя).
Я использую следующие, и она работает очень хорошо!!!
Интересным фактом является то, что новая вкладка не может быть открыт, если действие не вызывается пользователем (нажатие кнопки или что-то) или если он является асинхронным, например, это не открыть в новой вкладке:
Но это может открыть в новой вкладке, В зависимости от настроек браузера:
Я думаю, что вы не можете контролировать это. Если пользователь настроил свой браузер на открытие ссылок в новом окне, вы не сможете заставить его открывать ссылки в новой вкладке.
https://stackoverflow.com/questions/726761/javascript-open-in-a-new-window-not-tab
Просто опускаю [strWindowFeatures] параметры можно открыть новую вкладку, если переопределяет настройки браузера (настройки браузера козыри на JavaScript).
Новом окне
Вкладка ###новый
... или ...
Вы можете использовать трюк с
форма
:[jsFiddle демо][1]
Это не имеет ничего общего с настройками браузера Если вы пытаетесь открыть новую вкладку из пользовательской функции.
На этой странице, откройте консоль JavaScript и тип:
в
И он будет пытаться открыть всплывающее окно, независимо от настроек, потому что 'нажмите' происходит от пользовательских действий.
Для того, чтобы вести себя как настоящий 'мыши' по ссылке, вы должны следовать @spirinvladimir'ы советы и действительно создайте его:
в
Вот полный пример (не пытайтесь повторить это на [jsFiddle][1] или подобные онлайн редакторы, как это не позволит вам перенаправлять на внешние страницы оттуда):
Есть ответ на этот вопрос и не нет.
Шаг 1: создать невидимую ссылке:
в
<идентификатор="и yourId" и с href="и yourlink.HTML-код как" цель=то"настроек" в стиле=на"дисплей: нет; с"></а>
Шаг 2: Нажмите на эту ссылку программно:
документ.метода getElementById("и yourId и").нажмите кнопку();`
Здесь вы идете! Работает шарм для меня.
Или вы могли бы просто создать элемент ссылку и нажмите на нее...
Это стоило'т быть заблокирован всплывающих окон... надеюсь.
Как насчет создания в
<а>
снастроек
какцель
значение атрибута иадрес
, какблизко
, с дисплеем стиль:скрытые с детской элемента? Затем добавить к DOM, а затем вызвать событие click на дочерний элемент.Обновление # # ##
Это вовсе'т работу. Браузер предотвращает поведение по умолчанию. Она может быть вызвана программно, но это вовсе'т следовать поведение по умолчанию.
Проверьте и убедитесь сами: http://jsfiddle.net/4S4ET/
Если это то, что вы просто пытаетесь нагрузка на элемент, попробуйте использовать эту. При загрузке страницы он будет добавить вашу цель свойства с нужным атрибутом.
$(your_element_here).опора('цели', 'настроек');
Это может быть хак, но в Firefox если указать третий параметр, 'полноэкранный=да', он открывает свежее новое окно.
Например,
Похоже, на самом деле переопределить настройки браузера.