Скрипт поделиться - открытие в новом окне
Доброго времени суток, уважаемые специалисты.
Вот методом тыка скрипт настроил, но осталась одна проблема: при нажатии на кнопку поделиться именно в Телеграмм или Ватсапп (остальные открываются в попап окне) происходит переход (в варианте браузера для ПК) на сайт сервиса и, соответственно, уход с сайта. А как сделать чтобы осуществлялось открытие в новом окне конкретно для варианта - Телеграмм / Ватсапп с ПК браузера (на смартфоне идёт открытие tg://msg / whatsapp://send и ухода с сайта нет)? Вот часть кода (весь код можно подчеркнуть тут https://jsfiddle.net/29zLw8fx/2/) : // Mail.ru mr: function (options) { return 'https://connect.mail.ru/share' + '?url=' + encodeURIComponent(_getURL(options)) + '&title=' + encodeURIComponent(options.title) + '&description=' + encodeURIComponent(descr) + '&image_url=' + encodeURIComponent(ogimage); }, // Telegram tg: function (options) { return options.link_telegram + '?url=' + encodeURIComponent(_getURL(options)) + '&text=' + encodeURIComponent(options.title); }, // WhatsApp wa: function (options) { return options.link_whatsapp + '?text=' + encodeURIComponent(_getURL(options) + " " + options.title); }, // Viber vi: function (options) { return 'viber://forward' + '?text=' + encodeURIComponent(_getURL(options) + " " + options.title); } }; function init() { var defaultOptions = { type: 'email', // default share type url: '', // url to share title: document.title.split(' | ')[0], // title to share image: '', // image to share text: '', // text to share utm_source: '', utm_medium: '', utm_campaign: '', popup_width: 626, popup_height: 436, link_telegram: 'https://t.me/share/url', link_whatsapp: 'https://wa.me/' }; function api() {} function go(element, options) { var withoutPopup = [ 'unknown', 'vi', 'tg', 'wa' ]; var tryLocation = true; var link; options = _extend( defaultOptions, _getData(element, defaultOptions), options ); if (typeof social[options.type] == 'undefined') { options.type = 'unknown' } link = social[options.type](options); if (withoutPopup.indexOf(options.type) === -1) { tryLocation = _popup(link, options) === null; } if (tryLocation) { if (element.tagName === 'A' && element.tagName === 'a') { element.setAttribute('href', link); return true; } else { location.href = link; return false; } } else { return false; } } api.go = go; api.options = defaultOptions; return api; } return init(); })); document.addEventListener("DOMContentLoaded", function(event) { var shareItems = document.querySelectorAll('.lnkfrend'); var isIOS = /iPad|iPhone|iPod/.test(navigator.platform) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1); var isAndroid = /(android)/i.test(navigator.userAgent); var options = {}; if (isIOS || isAndroid) { options.link_telegram = 'tg://msg'; options.link_whatsapp = 'whatsapp://send'; } for (var i = 0; i < shareItems.length; i += 1) { shareItems[i].addEventListener('click', function share(e) { return JSShare.go(this, options); }); } }); |
Часовой пояс GMT +3, время: 15:34. |