@jussia

Как по клику на кнопку открыть страницу в новой вкладке firefox?

Нужно чтобы после успешного выполнения запроса происходило открытие новой вкладки
<button type="button" id="planned" @click="acceptRoute(routeInfo.id)">Спланировать путешествие</button>

acceptRoute(id) {
			var apiUrl = '/routes/';
			return http.put(apiUrl + id + '/accept/').then((response) => {
				if (response.status == 200) {
					window.open(document.location.origin + '/plan/country/', '_blank')
				}

			})
		},


Вот в таком виде
window.open(document.location.origin + '/plan/country/', '_blank')
вызывается в firefox блокировка всплывающего окна. Если сделать вот так
acceptRoute(id) {
			var apiUrl = '/routes/';
			return http.put(apiUrl + id + '/accept/').then((response) => {
				if (response.status == 200) {
					document.querySelector('.planned').onclick = () => {
						window.open(document.location.origin + '/plan/country/', '_blank');
					}
				}

			})
		},


То открытие вкладки происходит только после второго клика
  • Вопрос задан
  • 442 просмотра
Пригласить эксперта
Ответы на вопрос 1
v3shin
@v3shin
Веб-шаман
Есть дурацкий вариант сделать все через ж... форму. Но все это кажется весьма странным.
function openUrlInTab(url) {
    let form = document.createElement('form');
    form.target = '_blank';
    form.action = url;
    document.body.appendChild(form);
    form.submit();
    document.body.removeChild(form);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы