Значение по ссылке из скрипта
Доброго времени, уважаемые форумчане!
Помогите решить напрягучую задачку Нужно в скрипте Яндекс Метрики вывести IP посетителя. Проблемы: php не поддерживается - сайт на конструкторе два кода скрипта подряд вывести тоже нельзя - система не позволяет Как вывести вместо XXX значение IP? Строка: var yaParams = {ip: "XXX"}; Значение получаю одним из способов этого сервиса l2.io (это ссылка) Пробовал так, но туго с java у меня) Не получается ничего: var yaParams = {ip: "<script type='text/javascript' src='https://l2.io/ip.js'></script>"}; Благодарю за помощь |
вывести IP посетителя
Sharapov317,
<script> var xhr = new XMLHttpRequest(); xhr.open("GET", 'https://www.l2.io/ip', true); xhr.onreadystatechange = function() { if (xhr.readyState != 4) return; var yaParams = {ip: xhr.responseText}; alert( yaParams.ip ); // здесь вызов вашей Метрики } xhr.send(null); </script> |
Благодарю, но 2 скрипта подряд система блокирует с сообщением типа неправильный код счетчика
Нужно получить значение в одном скрипте метрике |
Sharapov317,
не могу помочь, не знаю как устроена метрика |
Вот ее полный код:
<!-- Yandex.Metrika counter --> <script type="text/javascript" > var yaParams = {ip: "XXX]"}; (function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter12345678 = new Ya.Metrika({ id:12345678, params:window.yaParams, clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = "https://mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks"); </script> <noscript><div><img src="https://mc.yandex.ru/watch/12345678" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> Вместо XXX нужно получить значение ip адреса посетителя А в params:window.yaParams я его передаю |
Sharapov317,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Sharapov317,
пробуйте... <!-- Yandex.Metrika counter --> <script> var yaParams; var xhr = new XMLHttpRequest(); xhr.open("GET", 'https://www.l2.io/ip', true); xhr.onreadystatechange = function() { if (xhr.readyState != 4) return; yaParams = {ip: xhr.responseText}; (function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter12345678 = new Ya.Metrika({ id:12345678, params:yaParams, clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = "https://mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks"); } xhr.send(null); </script> <noscript><div><img src="https://mc.yandex.ru/watch/12345678" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> |
В метрике получаю такое значение:
ip.get ('https://www.l2.io/ip') .text Походу передается сам текст |
Sharapov317,
всё что мог выше. |
Благодарю Вас, Рони
Возможно поможет еще кто? |
Часовой пояс GMT +3, время: 08:59. |