Es kann bei dem einen oder anderen Projekt ganz praktisch sein die IP-Adresse des Clients zu kennen. Diese liegt jedoch nicht in Javascript vor und lässt sich ohne externe Ressourcen auch nicht herausfinden. Da ich die IP-Adresse des Clients in Javascript für ein Projekt aber herausfinden wollte, habe ich mir fix eine kleine Lösung dafür gebastelt. Meine Lösung stelle ich hier öffentlich zur Verfügung.
Inhalt
Vorhang auf: WhatIsMyIp
„WhatIsMyIp“ ist ein Mini-Tool, welches immer die aktuelle IP-Adresse des Clients zurück gibt. Mehr nicht. Also wirklich simpel. Dennoch eine Funktion, die von Haus aus nicht client-seitig gelöst werden kann, sondern eine externe Ressource angefragt werden muss.
Script URL
https://europe-west3-devrcc.cloudfunctions.net/whatismyip
Anwendungsfälle
- GA Hits umleiten in eine andere Property basierend auf der IP, z.B. Büro-IP
- Marketing Pixel nicht ausführen, wenn die IP das eigene Büro ist
- Hash der IP erstellen um diesen als ID zu nutzen
Anwenden mit Javascript
ajax = new XMLHttpRequest(); if(ajax!=null){ ajax.open("GET","https://europe-west3-devrcc.cloudfunctions.net/whatismyip",true); ajax.onreadystatechange = function() { if(this.readyState == 4) { if(this.status == 200) { console.log(this.responseText); } } } ajax.send(null); }
Response
{"ip":"31.6.26.42"}
Anwenden mit jQuery
$.getJSON('https://europe-west3-devrcc.cloudfunctions.net/whatismyip', function(data){ console.log(data); })
Response
{"ip":"31.6.26.42"}
Nutzungsbedingungen
Dieser Dienst kann frei verwendet werden. Ich behalte mir vor jeder Zeit Änderungen daran vorzunehmen, den Dienst einzuschränken, kostenpflichtig zu machen oder einzustellen. Jeweils auch nur für einzelne Nutzer. Es besteht kein Anspruch auf Verfügbarkeit des Services. Die Nutzung sollte so optimiert sein, dass möglichst wenige Anfragen an den Dienst gestellt werden. Falls Möglich, sollte applikationsseitig ein Cache verwendet werden.
Fragen und Anregungen gerne per eMail oder in den Kommentaren.