Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.09.2016, 18:19
Новичок на форуме
Отправить личное сообщение для zaikv Посмотреть профиль Найти все сообщения от zaikv
 
Регистрация: 13.09.2016
Сообщений: 6

Запретить открытие новой страницы "корзина", если есть уже открытая
Здравствуйте, необходима помощь новичку.
Есть ссылка
<a href="javascript:void(0)" id="basket_add" data-add-url="<?= $arResult['ADD_URL'] ?>" class="add-button btn btn-default">В корзину</a>

Есть скрипт
$('#basket_add').click(function ($event) {
 
        var $clicked = $($event.target);
        var quantity = $('#quantity').val();
        var quantityVariable = $('#quantity_variable').val();
        var addUrl = $clicked.data('add-url') + '&' + quantityVariable + '=' + quantity;
 
        $.get(addUrl, null, function () {
            $clicked.unbind($event);
            $clicked.removeAttr('href');
            $clicked.addClass('inbasket');
            $clicked.text('В корзине');
 
            // Обновить корзину в шапке.
            $.get(header_basket_url, null, function (data) {
                $('#header-cart-info').replaceWith(data);
            });
        });
    });

Необходимо чтобы после добавления товара в корзину, осуществлялся переход в корзину на новой вкладке.
Я сначала прописал в скрипте
window.open("ссылка")

, но скрипт не всегда работал корректно: то не происходил переход, то после перехода товар не отображался в корзине(после обновления страницы там был).
После, я явно указал адрес в самой ссылке, добавив target=_blank(до этого удалив строку из скрипта)
<a href="ссылка" id="basket_add" target="_blank" class="add-button btn btn-default">В корзину</a>

У меня возник ряд вопросов:
1. Как лучше сделать?
2. Почему переход через скрипт работал не всегда корректно?
3. Почему после удаления вызова скрипта из адреса, он все равно продолжал выполняться, т.е. после нажатия на кнопку, менялось название кнопки, ее окрас(class=inbasket)?
4 Можно ли создать условие, которое проверяло открыта ли страница с корзиной или нет, дабы не допускать открытие дублирующих окон?
Ответить с цитированием
  #2 (permalink)  
Старый 16.09.2016, 13:37
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

1. Не делай попупов если нужны клиенты
2. Если не нужны клиенты, делай попупы
Ответить с цитированием
  #3 (permalink)  
Старый 25.09.2016, 23:43
Интересующийся
Отправить личное сообщение для xbit Посмотреть профиль Найти все сообщения от xbit
 
Регистрация: 08.03.2016
Сообщений: 25

1. Как лучше сделать?
document.getElementById('basket_add').click();

Эта строчка полностью имитирует клик юзера по ссылке. Есть еще вариант:

window.location.href="ссылка";


Этот код откроет корзину в этом же окне.
Ответить с цитированием
  #4 (permalink)  
Старый 26.09.2016, 05:15
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от xbit
в этом же окне.
Из js можно управлять настройками браузера касательно, где открывать новую страницу - в окне или во вкладке?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие новой страницы по ссылке paveltkachev Events/DOM/Window 6 18.02.2015 09:11
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 12:29
открытие ссылки на новой странице если нету js FRIE Общие вопросы Javascript 9 01.12.2010 12:50
как записать <form> с отправкой .. если есть уже <form> с другим обработчиком Arfey Серверные языки и технологии 9 01.06.2010 16:31
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37