12.01.2018, 00:24
|
Новичок на форуме
|
|
Регистрация: 12.01.2018
Сообщений: 5
|
|
Значение по ссылке из скрипта
Доброго времени, уважаемые форумчане!
Помогите решить напрягучую задачку
Нужно в скрипте Яндекс Метрики вывести 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>"};
Благодарю за помощь
|
|
12.01.2018, 01:57
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
вывести 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>
|
|
12.01.2018, 09:10
|
Новичок на форуме
|
|
Регистрация: 12.01.2018
Сообщений: 5
|
|
Благодарю, но 2 скрипта подряд система блокирует с сообщением типа неправильный код счетчика
Нужно получить значение в одном скрипте метрике
|
|
12.01.2018, 09:36
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
Sharapov317,
не могу помочь, не знаю как устроена метрика
|
|
12.01.2018, 09:48
|
Новичок на форуме
|
|
Регистрация: 12.01.2018
Сообщений: 5
|
|
Вот ее полный код:
<!-- 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, 12.01.2018 в 10:42.
|
|
12.01.2018, 10:03
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
Sharapov317,
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]
О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
|
|
12.01.2018, 10:19
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
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 -->
|
|
12.01.2018, 11:42
|
Новичок на форуме
|
|
Регистрация: 12.01.2018
Сообщений: 5
|
|
В метрике получаю такое значение:
ip.get ('https://www.l2.io/ip') .text
Походу передается сам текст
|
|
12.01.2018, 11:57
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
Sharapov317,
всё что мог выше.
|
|
12.01.2018, 11:59
|
Новичок на форуме
|
|
Регистрация: 12.01.2018
Сообщений: 5
|
|
Благодарю Вас, Рони
Возможно поможет еще кто?
|
|
|
|