«Мой IP» на клиентской стороне
Бывает, что на стороне клиента надо узнать свой IP-адрес. Если не страшно подключать себе на страницу чужой JS, то это можно сделать следующим образом:
<!-- pure JS my IP -->
<script>
!function(callback) {
var old = document.write;
document.write = function (str) {
var re = /(\d{1,3}\.){3}\d{1,3}/;
callback(re.exec(str)[0]);
document.write = old;
}
}(alert);
</script>
<script src="http://en.dnstools.ch/out/4.js"></script>
Вместо «alert» можно передавать любую функцию, ей первым параметром будет передан искомый IP-адрес. Если на странице больше нигде не используется «document.write», то JS с внешнего ресурса вполне можно подключать как «defer», тут это нестрашно.
Я знаю другое решение: написать в своем js-файле, пропущенном на сервере через SSI: var ip = ’<!--#echo var=«REMOTE_ADDR»-->’
Или проделать то же самое, но с использованием PHP.
Комментарий для stacmv.ya.ru:
Это очевидное решение обладает очевидным недостатком: требует собственное серверной поддержки.
http://internet.yandex.ru/
Комментарий для doochik.ya.ru:
Как получить эту информацию себе на сайт, в свой JS?