#javascript #browser #window.open
#javascript #браузер #окно.открыть
Вопрос:
Я хотел бы открыть в новой вкладке страницу моего веб-сайта.
Я пытался использовать функцию window.open, но, похоже, она больше не поддерживается.
Это несколько вариантов, которые я пробовал в local :
url = "localhost:3000/my-other-page"
window.open(url, '_blank');
OR
var popup = window.open("about:blank", "_blank");
popup.location = url;
Первый вариант открывал страницу на новой вкладке, но экран оставался черным.
Какой был бы наилучший способ открыть этот URL? Поддерживается ли это по-прежнему текущими браузерами?
Ответ №1:
Покажите ваш пример url
, я думаю, вам нужно использовать полный URL протокола вместо доменного имени.
пример:
Используйте https://google.com
вместо google.com
var url = 'https://google.com';
window.open(url, '_blank');
Комментарии:
1. Понятно, может быть, это потому, что я пробовал использовать localhost: 3000 urls? Как вы думаете, это сработало бы с производственными URL-адресами?
2. @Benjamin Я так не думаю 😕 Вы настраиваете автоматическое открытие новой вкладки?
3. Новая вкладка должна открываться, когда пользователь нажимает на ссылку. Но я должен сделать это в javascript.. Который должен быть довольно стандартным, я думаю
4. Вы пытаетесь
url = "http://localhost:3000/my-other-page"
вместоurl = "localhost:3000/my-other-page"
?
Ответ №2:
window.open
поддерживается и работает нормально … при условии, что вы используете его в ответ на пользовательское событие.
Например, вам разрешено открывать новое окно, когда пользователь нажимает на кнопку, но вам не разрешено открывать его сразу после загрузки страницы.
Это мера по борьбе со спамом / бомбардировкой ресурсов.
повторное редактирование
url = "localhost:3000/my-other-page"
Ваш URL начинается с имени хоста, но на нем отсутствуют маркеры, которые не позволяют рассматривать его как путь.
Используйте правильный URL:
url = "http://localhost:3000/my-other-page"
Комментарии:
1. Что ж.. Настолько просто, насколько это возможно.. Это работает, спасибо за ваше время и объяснение!