Перейти к публикации
Дизайн и модификация Invision Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
TemKa_SD

Замена ссылки по всему сайту + куки

Рекомендованные сообщения

Здравствуйте. Я сделал рабочую функцию, которая позволяет заменить мою реферальную ссылку на внешний сайт на чужую, если потенциальный реферал перешел по ссылке другого пользователя. У меня всё работает, но я хочу спросить у профессионалов правильно ли я всё реализовал.

 

        <script type='text/javascript'>
           ;( function($, _, undefined){

           var hash = location.hash.substring(1);

           // Замена ссылки из куков
           var ref_linkCookie = ips.utils.cookie.get( 'ref_link' );

           if ( ref_linkCookie != '' )	{
               $('#ref_link').attr('href', ref_linkCookie);
           }

           // Запись ссылки в куки и замена при первом посещении
           if ( hash != '' && window.location.href.indexOf("?ref=") > -1 ) {
               $('#ref_link').attr('href', 'https://mercury.gl/'+hash);
               ips.utils.cookie.set( 'ref_link', 'https://mercury.gl/'+hash );
           }

           }(jQuery, _));
       </script>

 

Здесь идет проверка на корректность ссылки, а то она не корректно заменялась при просмотре сообщения на форуме если переходить по такой ссылке: /forums/?tab=comments#comment-7

window.location.href.indexOf("?ref=") > -1

Поделиться сообщением


Ссылка на сообщение

Попробуйте

https://mercury-global.cash/forums/topic/2-merkuriy-global-izmenil-vashu-zhizn/?ref=123#test=123

Поделиться сообщением


Ссылка на сообщение

Ну заменяет на то, что после #, как и должно быть вроде как.

Поделиться сообщением


Ссылка на сообщение
  TemKa_SD писал:
Ну заменяет на то, что после #, как и должно быть вроде как.

Так должно или вроде?

 

Если перейти по "моей" ссылке, а далее кликнуть на "Регистрация в Меркурий Глобал", то перейдешь на "404 Not Found".

Покажите лучше по какой ссылке переходит юзер, и что на что надо заменить.

 

Пока что не понятно, зачем Вы хеш используете.

Поделиться сообщением


Ссылка на сообщение

Стандартная ссылка имеет вид:

 

https://mercury.gl/?ref=id_193761

 

где id_193761 - мой реферальный идентификатор.

 

У каждого пользователя на моем сайте есть ссылка такого вида:

 

https://mercury-global.cash#?ref=id_204018

 

где id_204018 - реф идентификатор того или иного пользователя.

 

Когда пользователь делится своей ссылкой с потенциальным рефералом, все мои ссылки ( стандартные ) заменяются на его, оно работает.

 

Как бы ссылка сформирована автоматически на сайте, и выводится в специальном блоке, пользователю просто скопировать её надо, думаю с этим проблем не будет, но да, можно добавить условией на корректность. И я хотел заменить атрибут откуда заменяется ссылка, вместо href поставить onclick, пробовал неделю назад, не получилось (

post-60255-0-52370100-1531691888_thumb.png

Поделиться сообщением


Ссылка на сообщение

Здравствуйте. Помогите сделать замену ссылки в onclick, потом еще думаю модернизировать так - если в куках уже есть ссылка, то на новую не заменять, если перейдет по новой.

Поделиться сообщением


Ссылка на сообщение
  TemKa_SD писал:

Помогите сделать замену ссылки в onclick

Что и где это?

Покажите код

Поделиться сообщением


Ссылка на сообщение
09/24/18 10:28 (изменено)

Если так не поймете, включу сайт, сейчас в режим оффлайн перевел.

 

У меня на сайте есть ссылки такого вида:

 

<a id="ref_link" href="https://mercury.gl/?ref=id_193761">РЕГИСТРАЦИЯ В МЕРКУРИЙ ГЛОБАЛ</a>

 

Это моя реферальная ссылка для привлечения рефералов. У меня была задача, чтобы ссылка заменялась, если человека ко мне на сайт привел другой пригласитель по его реферальной ссылки, за это отвечают куки и js:

 

        <script type='text/javascript'>
           ;( function($, _, undefined){

           var hash = location.hash.substring(1);

           // Замена ссылки из куков
           var ref_linkCookie = ips.utils.cookie.get( 'ref_link' );

           if ( ref_linkCookie != '' )	{
               $('#ref_link').attr('href', ref_linkCookie);
           }

           // Запись ссылки в куки и замена при первом посещении
           if ( hash != '' && window.location.href.indexOf("?ref=") > -1 ) {
               $('#ref_link').attr('href', 'https://mercury.gl/'+hash);
               ips.utils.cookie.set( 'ref_link', 'https://mercury.gl/'+hash );
           }

           }(jQuery, _));
       </script>

 

Пригласитель указывать свою реферальную ссылку в профиле http://prntscr.com/ky0rly и новая готовая ссылка выводится на каждой странице в специальном блоке: http://prntscr.com/ky0s6b

 

Я хочу сделать скрытую ссылку, что-то вроде и чтобы весь функционал сохранил работоспособность:

 

<a id="ref_link" href="https://mercury.gl" onclick="location.href='https://mercury.gl/?ref=id_193761'" >РЕГИСТРАЦИЯ В МЕРКУРИЙ ГЛОБАЛ</a>

 

Еще вопрос, может можно это всё дело как-то интегрировать со стандартной реферальной системой комерции?

Изменено пользователем TemKa_SD

Поделиться сообщением


Ссылка на сообщение

Еще запутаннее стало.

  Цитата
Я хочу сделать скрытую ссылку, что-то вроде и чтобы весь функционал сохранил работоспособность:

Что это будет делать? Какова цель?

 

  Цитата
Еще вопрос, может можно это всё дело как-то интегрировать со стандартной реферальной системой комерции?

Там рефералы идут за регистрацию.

Поделиться сообщением


Ссылка на сообщение
  24.09.2018 в 10:48, newbie сказал:

Что это будет делать? Какова цель?

 

Скрытую ссылку, всмысле чтобы просто светился основной домен без реф хвоста, а реф хвост был в онклике. Цель - да просто, чтобы при наведении не пугать пользователей.

Поделиться сообщением


Ссылка на сообщение

<a id="ref_link" href="https://mercury.gl" data-ref="https://mercury.gl/?ref=id_193761">РЕГИСТРАЦИЯ В МЕРКУРИЙ ГЛОБАЛ</a>

 

$( "#ref_link" ).click(function(e) {
e.preventDefault();
location.href = $(e.currentTarget).attr('data-ref');
});

Поделиться сообщением


Ссылка на сообщение

Так не хочет

        <script type='text/javascript'>
           ;( function($, _, undefined){

           var hash = location.hash.substring(1);

           // Замена ссылки из куков
           var ref_linkCookie = ips.utils.cookie.get( 'ref_link' );

           if ( ref_linkCookie != '' )	{
               $('#ref_link').attr('href', ref_linkCookie);
           }

           // Запись ссылки в куки и замена при первом посещении
           if ( hash != '' && window.location.href.indexOf("?ref=") > -1 ) {
             $( "#ref_link" ).click(function(e) {
                 e.preventDefault();
                 location.href = $(e.currentTarget).attr('data-ref');
                 ips.utils.cookie.set( 'ref_link', 'https://mercury.gl/'+hash );
             });
           }

           }(jQuery, _));
       </script>

Поделиться сообщением


Ссылка на сообщение

А зачем Вы меняете ссылку, если пишите "Скрытую ссылку, всмысле чтобы просто светился основной домен без реф хвоста"?

Поделиться сообщением


Ссылка на сообщение
  27.09.2018 в 05:43, newbie сказал:

А зачем Вы меняете ссылку, если пишите "Скрытую ссылку, всмысле чтобы просто светился основной домен без реф хвоста"?

 

Ну да, всё так как вы и написали, только меняться должна в атрибуте data-ref="".

Поделиться сообщением


Ссылка на сообщение

Так меняйте.

 

Мой код ничего не меняет.

 

<a id="ref_link" href="https://mercury.gl" data-ref="https://mercury.gl/?ref=id_193761">РЕГИСТРАЦИЯ В МЕРКУРИЙ ГЛОБАЛ</a>

Когда пользователь кликает на ссылку, то переходит не на https://mercury.gl, а на https://mercury.gl/?ref=id_193761

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...