Há duas formas de utilizar esta função ou você coloca ela inteira dentro do arquivo que vai utiliza-la, ou no caso mais recomendavel cria um arquivo separado e importa ele na página html que vai ser utilizado como faria com o jQuery por exemplo.
Ela cria um arquivo exatamente como você estava fazendo a unica diferença é que para o Internet Explorer mais atual o nome de referencia para os arquivos xmlhttp mudou.
Então de forma totalmente implementada ficaria assim
function myIP(){
try {
var xmlhttp = new XMLHttpRequest();
} catch (tryMS) {
try {
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (otherMS) {
try {
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
var xmlhttp = null;
}
}
}
// Alerta caso não consiga o objeto para enviar a requisição ao servidor
if (xmlhttp == null{
// Coloca a mensagem que tu achar mais correta
alert("mensagem de erro");
//Termina a função
return;
}
xmlhttp.open("GET","http://api.hostip.info/get_html.php",false);
xmlhttp.send();
hostipInfo = xmlhttp.responseText.split("\n");
for (i=0; hostipInfo.length >= i; i++)
{
ipAddress = hostipInfo[i].split(":");
if ( ipAddress[0] == "IP" )
return ipAddress[1];
}
return false;
}
ou caso queira fazer utilizando a função de forma completa
function createRequest() {
try {
request = new XMLHttpRequest();
} catch (tryMS) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (otherMS) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = null;
}
}
}
return request;
}
function myIP(){
var xmlhttp = createRequest();
// Alerta caso não consiga o objeto para enviar a requisição ao servidor
if (xmlhttp == null{
// Coloca a mensagem que tu achar mais correta
alert("mensagem de erro");
//Termina a função
return;
}
xmlhttp.open("GET","http://api.hostip.info/get_html.php",false);
xmlhttp.send();
hostipInfo = xmlhttp.responseText.split("\n");
for (i=0; hostipInfo.length >= i; i++)
{
ipAddress = hostipInfo[i].split(":");
if ( ipAddress[0] == "IP" )
return ipAddress[1];
}
return false;
}
e na terceira ipotese tu cria um arquivo tipo util.js e coloca a minha função dentro dele e nas páginas html que for preciar da mesma função é só referenciar o arquivo dentro da tag
<head>
(...)
<script type="text/javascript" src="js/util.js"></script>
(...)
</head>
Só uma coisa se form fazer a referencia na página ela tem que ficar antes do arquivo java script que vai utiliza-la e tem que ser a tag de abertura e fechamento completa não pode ser tipo que a porcaria do Internete Explorer não aceita ¬¬