Ya no necesitas buscar más por todo internet porque llegaste al sitio exacto, poseemos la solución que necesitas recibir y sin liarte.
Solución:
Algo como esto debería funcionar:
$.ajax(
url: externalUrl,
async: true,
success: function(data)
var matches = data.match(/(.*?) /);
alert(matches[0]);
);
TheSuperTramp es correcto, lo anterior no funcionará si externalUrl está fuera de su dominio. En su lugar, cree este archivo php get_external_content.php:
(.+)/',$html,$matches);
$title = $matches[1];
echo json_encode(array("url" => $url, "title" => $title));
luego en javascript:
function getTitle(externalUrl)
var proxyurl = "http://localhost/get_external_content.php?url=" + externalUrl;
$.ajax(
url: proxyurl,
async: true,
success: function(response)
alert(response);
,
error: function(e)
alert("error! " + e);
);
También puede obtener el título de cualquier página web usando esta API
http://textance.herokuapp.com/title/
$.ajax(
url: "http://textance.herokuapp.com/title/www.bbc.co.uk",
complete: function(data)
alert(data.responseText);
);
La solicitud de dominio cruzado no funciona con ajax, pero lo que podría hacer es escribir un script en su servidor que obtenga el título de un sitio determinado.
Si está utilizando PHP, puede usar la función file_get_contents y preg_match para obtener el título. Este chico aquí ya proporcionó el código para ello.
http://www.cafewebmaster.com/php-get-page-title-function
Luego, en jQuery, podría agregar esto a un evento o ponerlo dentro de una función.
//For the purpose of this example let's use google
var url = "http://www.google.com";
$.ajax(
type: "POST",
url: "./getURLTitle.php",
data: "url: "" + url + """,
success: function(data)
//do stuff here with the result
alert(data);
);