如何使用JQuery / JS获取URL(外部URL)的网页标题
我是新手,如果这是一个愚蠢的问题,请原谅。
所以我尝试的是使用JQuery / JS获取URL的标题。 我不想加载url的内容,然后在其中解析标签。
让我更清楚一点,我有一组url,比方说20我要显示标题..我所指的url不是当前的url,所以我不能使用js document.title ..
所以我想做一些SOMEFUNC.title(URL)的forms并得到它的标题。 有这样的function吗?
您还可以使用此API获取任何网页的标题
http://textance.herokuapp.com/title/
$.ajax({ url: "http://textance.herokuapp.com/title/www.bbc.co.uk", complete: function(data) { alert(data.responseText); } });
像这样的东西应该工作:
$.ajax({ url: externalUrl, async: true, success: function(data) { var matches = data.match(/(.*?)<\/title>/); alert(matches[0]); } });
TheSuperTramp是正确的,如果externalUrl不在您的域中,则上述操作无效。 而是创建这个php文件get_external_content.php:
(.+)<\/title>/',$html,$matches); $title = $matches[1]; echo json_encode(array("url" => $url, "title" => $title));
然后在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); } }); }
跨域请求不适用于ajax,但您可以做的是在服务器上编写一个脚本来获取给定站点的标题。
如果您使用的是PHP,则可以使用file_get_contents和preg_match函数来获取标题。 这个人已经为它提供了代码。
http://www.cafewebmaster.com/php-get-page-title-function
然后在jQuery中,您可以将其添加到事件或将其放在函数中。
//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); } });