Предыдущая страница Переход на мой сайт

1

Я пытаюсь вернуть значение, в зависимости от того, на какую из предыдущих страниц вышли пользователи.

Я просмотрел PHP с помощью $_SERVER['HTTP_REFERER'] но это больше не поддерживается.

Я просмотрел JavaScript с помощью

function sourcePrevious(){

    if (document.referrer.search('https?://(.*)google.([^/?]*)') === 0) {
        return 'Google';
    } else if (document.referrer.search('https?://(.*)yahoo.([^/?]*)') === 0) {
        return 'Yahoo';
    } else if (document.referrer.search('https?://(.*)bing.([^/?]*)') === 0) {
        return 'Bing';
    }else if (document.referrer.search('https?://(.*)facebook.([^/?]*)') === 0) {
        return 'Facebook';
    }else {
        return 'Other';
    }

}

alert(sourcePrevious());

Это работает частично, потому что Google, Yahoo и Facebook работают, но для Bing и Twitter это не тот же случай.

Может ли кто-нибудь указать мне направление метода для этого или дать мне знать, как заставить функцию JavaScript работать для всех источников.

Благодарю!

  • 0
    Меня устраивает. Я использовал Bing, открыл случайную страницу и document.referrer.search('https?://(.*)bing.([^/?]*)') В консоли вернул 0.
  • 0
    $ _SERVER ['HTTP_REFERER'] не поддерживается? Это не правда, к вашему сведению. Но не все пользовательские агенты устанавливают это. Пожалуйста, добавьте браузер и версии PHP, которые вы используете.
Показать ещё 1 комментарий
Теги:
url
referrer

1 ответ

0

Я РЕШИЛ ПРОБЛЕМУ TWITTER

(document.referrer.search('https?://(.*)t.([^/?]*)') === 0) 
  • 0
    Хотя этот фрагмент кода может решить вопрос, в том числе объяснение кода действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин, по которым вы предлагаете код. Пожалуйста, постарайтесь не переполнять ваш код пояснительными комментариями, это снижает удобочитаемость кода и пояснений!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню