TemKa_SD Posted July 14, 2018 Share Posted July 14, 2018 Здравствуйте. Я сделал рабочую функцию, которая позволяет заменить мою реферальную ссылку на внешний сайт на чужую, если потенциальный реферал перешел по ссылке другого пользователя. У меня всё работает, но я хочу спросить у профессионалов правильно ли я всё реализовал. <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-7window.location.href.indexOf("?ref=") > -1 Link to comment Share on other sites More sharing options...
newbie Posted July 15, 2018 Share Posted July 15, 2018 Попробуйте https://mercury-global.cash/forums/topic/2-merkuriy-global-izmenil-vashu-zhizn/?ref=123#test=123 Link to comment Share on other sites More sharing options...
TemKa_SD Posted July 15, 2018 Author Share Posted July 15, 2018 Ну заменяет на то, что после #, как и должно быть вроде как. Link to comment Share on other sites More sharing options...
newbie Posted July 15, 2018 Share Posted July 15, 2018 Ну заменяет на то, что после #, как и должно быть вроде как.Так должно или вроде? Если перейти по "моей" ссылке, а далее кликнуть на "Регистрация в Меркурий Глобал", то перейдешь на "404 Not Found".Покажите лучше по какой ссылке переходит юзер, и что на что надо заменить. Пока что не понятно, зачем Вы хеш используете. Link to comment Share on other sites More sharing options...
TemKa_SD Posted July 15, 2018 Author Share Posted July 15, 2018 Стандартная ссылка имеет вид: https://mercury.gl/?ref=id_193761 где id_193761 - мой реферальный идентификатор. У каждого пользователя на моем сайте есть ссылка такого вида: https://mercury-global.cash#?ref=id_204018 где id_204018 - реф идентификатор того или иного пользователя. Когда пользователь делится своей ссылкой с потенциальным рефералом, все мои ссылки ( стандартные ) заменяются на его, оно работает. Как бы ссылка сформирована автоматически на сайте, и выводится в специальном блоке, пользователю просто скопировать её надо, думаю с этим проблем не будет, но да, можно добавить условией на корректность. И я хотел заменить атрибут откуда заменяется ссылка, вместо href поставить onclick, пробовал неделю назад, не получилось ( Link to comment Share on other sites More sharing options...
TemKa_SD Posted September 21, 2018 Author Share Posted September 21, 2018 Здравствуйте. Помогите сделать замену ссылки в onclick, потом еще думаю модернизировать так - если в куках уже есть ссылка, то на новую не заменять, если перейдет по новой. Link to comment Share on other sites More sharing options...
newbie Posted September 24, 2018 Share Posted September 24, 2018 Помогите сделать замену ссылки в onclickЧто и где это?Покажите код Link to comment Share on other sites More sharing options...
TemKa_SD Posted September 24, 2018 Author Share Posted September 24, 2018 (edited) Если так не поймете, включу сайт, сейчас в режим оффлайн перевел. У меня на сайте есть ссылки такого вида: <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> Еще вопрос, может можно это всё дело как-то интегрировать со стандартной реферальной системой комерции? Edited September 24, 2018 by TemKa_SD Link to comment Share on other sites More sharing options...
newbie Posted September 24, 2018 Share Posted September 24, 2018 Еще запутаннее стало.Я хочу сделать скрытую ссылку, что-то вроде и чтобы весь функционал сохранил работоспособность:Что это будет делать? Какова цель? Еще вопрос, может можно это всё дело как-то интегрировать со стандартной реферальной системой комерции? Там рефералы идут за регистрацию. Link to comment Share on other sites More sharing options...
TemKa_SD Posted September 24, 2018 Author Share Posted September 24, 2018 Что это будет делать? Какова цель? Скрытую ссылку, всмысле чтобы просто светился основной домен без реф хвоста, а реф хвост был в онклике. Цель - да просто, чтобы при наведении не пугать пользователей. Link to comment Share on other sites More sharing options...
newbie Posted September 24, 2018 Share Posted September 24, 2018 <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'); }); Link to comment Share on other sites More sharing options...
TemKa_SD Posted September 27, 2018 Author Share Posted September 27, 2018 Так не хочет <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> Link to comment Share on other sites More sharing options...
newbie Posted September 27, 2018 Share Posted September 27, 2018 А зачем Вы меняете ссылку, если пишите "Скрытую ссылку, всмысле чтобы просто светился основной домен без реф хвоста"? Link to comment Share on other sites More sharing options...
TemKa_SD Posted September 27, 2018 Author Share Posted September 27, 2018 А зачем Вы меняете ссылку, если пишите "Скрытую ссылку, всмысле чтобы просто светился основной домен без реф хвоста"? Ну да, всё так как вы и написали, только меняться должна в атрибуте data-ref="". Link to comment Share on other sites More sharing options...
newbie Posted September 27, 2018 Share Posted September 27, 2018 Так меняйте. Мой код ничего не меняет. <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 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now