Ссылка с атрибутом target = '_blank'

239
20 января 2017, 06:28

Нужно открывать ссылку в новой вкладке

Вот изначальная ссылка

 <a class="product-descr-wrap statistic" object="<?= $model->id ?>" href="http://google.com.ua" target="_blank">Ссылка</a>

Вешаю событие при клике на класс statistic. Это нужно, чтобы считать количество переходов по ссылке. Отправляется запрос ajax, в контроллере обрататывается и возвращается response. Если он успешный - то открывать ссылку в новом окне.

$('.statistic').on('click', function() {
    $.ajax({
        url: '/site/visit?id='+$(this).attr('object'),
        type: 'post',
        dataType: 'json',
        data: '',
        success: function(response) {
            if(response){
                var url = $('.statistic').attr('href');
                window.location.href = url;
                // target = '_blank';
            }
        }
    }); return false;
});

Если открывать методом window.open(url, '_blank'); - работает, но проблема в том, что нужно давать разрешение, так как браузер изначально блокирует ссылку, и думает что это попап. Хотя, если разрешить - откывает в новой вкладке, а не в новом окне

Каким образом можно обойти эту блокировку ?

Answer 1
$('.statistic').on('click', function() {
    $.ajax({
        url: '/site/visit?id='+$(this).attr('object'),
        type: 'post',
        dataType: 'json',
        data: '',
        success: function(response) {
            if(response){
                var a = document.querySelector('a');
                a.click();
            }
        }
    }); return false;
});
READ ALSO
Задержка в анимации

Задержка в анимации

Как положить в переменную дочерний элемент выбранного объекта? попробовал так:

277
Действия по завершении анимации

Действия по завершении анимации

Здесь следует обратить внимание на цвет абзаца, это работает так: когда блок скрыт - абзац красный, когда блок появляется - абзац чёрныйАбзац...

272
Сравнение значений поля ввода в каждом блоке

Сравнение значений поля ввода в каждом блоке

Здравствуйте! Есть форма с несколькими блоками в которых, в свою очередь присутствуют по два инпута from и toЕсть скрипт, который сверяет введенные...

349