Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.02.2017, 09:15
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 447

Перенаправление при блокировки всплывающих окон.
Всем привет. На сайте есть компонент для перенаправления по внешним ссылкам. Сообщение о перенаправлении открывается в том же окне, что и ссылка. И переход тоже.Потребовалось сделать в другом. Открыть сообщение в другом окне не проблема.Но тогда естественно перестаёт работать ссылка "отменить", в окне сообщения. Людям это не нравится. Решил с помощью js решить вопрос. Дописал пару строк кода и вроде работает. Но. На странице есть код таймера, который при окончании заданного периода перенаправляет по ссылке.
$(function () {
            var timer    = $('#timer');
            var delay    = +{$time};
            var location = "{$url}";
            $(timer).html(delay);
            var interval = setInterval(function () {
                if(delay) { delay--; }
                $(timer).html(delay);
                if(delay <= 0){
                    clearInterval(interval);
                    window.location.href=location;
                }
            }, 1000);
        });

И опять же, в этом же окне. Я внёс изменения на так
... if(delay <= 0){
                    clearInterval(interval);
                    window.open(location);
		    history.go(-1)
                }


Но теперь, если в браузере стоит блокировка всплывающих окон, то происходит редирек обратно, те срабатывает history.go(-1),а window.open(location); блокируется. Плюс если блокировки нет, то по оканчании времени происходит ещё одно перенаправление. Можно ли как то исправить это?

Последний раз редактировалось ureech, 28.02.2017 в 09:21.
Ответить с цитированием
  #2 (permalink)  
Старый 28.02.2017, 09:23
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,883

Сообщение от ureech
window.open(location);
Если получить ссылку на дочернее окно
var win=window.open(location);

Чему будет равен win, если есть блокировка окон?
Ответить с цитированием
  #3 (permalink)  
Старый 28.02.2017, 21:38
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 447

object Window
Ответить с цитированием
  #4 (permalink)  
Старый 01.03.2017, 07:42
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 12,883

Т.е. на отсутствие ссылки не получится ориентироваться...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно обойти блокировку всплывающих окон? azazello Общие вопросы Javascript 12 20.07.2015 10:18
Проблема при воспроизведении аудио при использовании jplayer nemish Events/DOM/Window 0 01.12.2011 14:15
getAllResponseHeaders() и status имеют смысл только при readyState==4? mister_maxim AJAX и COMET 7 27.03.2011 18:08
Изменение стиля родительского элемента при :hover дочернего lanzs Элементы интерфейса 2 16.10.2010 12:28
тормозит перенаправление. пытаюсь передать данные методом GET cyklop77 Серверные языки и технологии 6 02.09.2010 13:09