Функция триггера на основе результата пользовательской функции Ссылающийся URL - PullRequest
0 голосов
/ 17 декабря 2009

Мне нужно использовать javascript (если применимо, jquery), чтобы инициировать мой модальный вызов, если результат моей функции равен true, а ссылающийся URL не принадлежит домену

Желание состоит в том, чтобы пользователь посещал главную заставку и, пока он не был перенаправлен туда самим сайтом (из-за тайм-аута в сеансе, неверных учетных данных и т. Д.), Отображает сообщение так:

function showModalIf()
{
    if (checkFunction)
    {
        if(////// REFERRING URL not from this site)
              Trigger Modal Call

        else
              Don't Do anything else
    }

}

Ответы [ 2 ]

0 голосов
/ 17 декабря 2009

Предполагается, что вы используете jQuery UI Dialog для показа модального

function checkReferrerExternal() {
    if (!document.referrer || document.referrer == '') return false;
    var regex = /^https?:\/\/\/?([^?:\/\s]+).*/;

    var referrermatch = regex.exec(document.referrer);
    var locationmatch = regex.exec(document.location);
    return referrermatch[1] != locationmatch[1];
}


function showModalIf() {
    if (checkReferrerExternal()) {
        //show jQuery UI Dialog modal or replace with whatever
        $("div#dialog").dialog('open');
    }
}

Проверьте демонстрационную страницу http://jsbin.com/efico

0 голосов
/ 17 декабря 2009

Если вы говорите о принудительном перенаправлении в коде, а не просто щелчке гиперссылки из другого места сайта, вы можете добавить параметр строки запроса в ваше перенаправление и проверить этот способ. Другой вариант - установить cookie и проверить его в javascript.

Вот хорошая ссылка на обработку куки в Javascript:

Javascript - Cookies

И вот еще один пример для разбора параметров / хэшей строки запроса в Javascript:

Анализ строки запроса с помощью Javascript

Надеюсь, это направит вас в правильном направлении:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...