Перейти к публикации
Дизайн и модификация IPS 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

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


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

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

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


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

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

 

Если перейти по "моей" ссылке, а далее кликнуть на "Регистрация в Меркурий Глобал", то перейдешь на "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, потом еще думаю модернизировать так - если в куках уже есть ссылка, то на новую не заменять, если перейдет по новой.

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


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

Помогите сделать замену ссылки в 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

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


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

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

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

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

 

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

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

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


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

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

 

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

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


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

<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>

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


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

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

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


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

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

 

Ну да, всё так как вы и написали, только меняться должна в атрибуте 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 пользователей

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

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