Значение по ссылке из скрипта
Доброго времени, уважаемые форумчане!
Помогите решить напрягучую задачку Нужно в скрипте Яндекс Метрики вывести 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, время: 04:32. |