Javascript 获取网站标题

Javascript 获取网站标题,javascript,jquery,url,attributes,title,Javascript,Jquery,Url,Attributes,Title,我正在尝试检索链接的URL标题 例如,您可以获取以下内容的标题: 将从以下内容动态生成:$('.stack').attr(“title”、“…”) javascript或jQuery可以检索URL的标题吗 非常感谢是的,只需使用文档.标题。简单有效 $('.stack').attr("title", document.title); 编辑:看来我误解了你的问题。如果您想获得另一个页面的标题,而不是当前加载的页面,可以使用跨域AJAX技巧,但这通常不是一个好主意。我只需要抓取页面标题服务器端(

我正在尝试检索链接的URL标题

例如,您可以获取以下内容的标题:

将从以下内容动态生成:
$('.stack').attr(“title”、“…”)

javascript或jQuery可以检索URL的标题吗


非常感谢

是的,只需使用
文档.标题
。简单有效

$('.stack').attr("title", document.title);

编辑:看来我误解了你的问题。如果您想获得另一个页面的标题,而不是当前加载的页面,可以使用跨域AJAX技巧,但这通常不是一个好主意。我只需要抓取页面标题服务器端(无论您使用什么方式生成页面[php、asp等])并将其输出。

出于安全原因,您无法使用Javascript从其他网站读取内容,即使只是为了读取标题

您可以编写一个服务器端代理,该代理请求远程页面,并使用HTML解析器查找其
标记

然而,你不应该在客户端这样做;这将浪费时间和资源。

如果确实要这样做,请在服务器上执行一次,作为创建新页面时的预处理步骤。

除非URL的href位于当前文档的域中,否则使用JavaScript尝试获取目标文档的标题将需要跨域脚本,这通常是不允许的(使用传统方法)通过浏览器。除非您对代理非常感兴趣(不完全确定如何实现),否则首先需要服务器端语言来加载文档。

花费了一点时间,但本例允许您从网页下载网页。然后从标题标签中提取标题

<html>
<head>
<!-- jQuery include -->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

<!-- This include allows cross domain get requests -->
<script type="text/javascript" src="https://raw.github.com/jamespadolsey/jQuery-Plugins/master/cross-domain-ajax/jquery.xdomainajax.js"></script>

<!-- Sample -->
<script type="text/javascript">
$(document).ready(function(){
    //gets the href of the first anchor
    var url = $("a").first().attr("href");

    //sets a get request to get the html source
    $.get(url, function(data){
        //uses get string between function to get the text between the title tags
        //then calls it in a message box
        alert(getStringBetween(data.responseText, "<title>", "</title>"));
    }); 
});

function getStringBetween(input, start, end){
    var index = input.indexOf(start);

    if(index != -1){
        index += start.length;
        var endIndex = input.indexOf(end, index + 1);

        if(endIndex != -1)
            return input.substr(index, endIndex - index);
    }
    return false;
}
</script>

</head>
<body>
    <a href="http://www.google.com/">Google</a>
</body>
</html>

$(文档).ready(函数(){
//获取第一个锚点的href
var url=$(“a”).first().attr(“href”);
//设置获取html源的get请求
$.get(url、函数(数据){
//使用get string between函数获取标题标记之间的文本
//然后在消息框中调用它
警报(getStringBetween(data.responseText,“,”);
}); 
});
函数getStringBetween(输入、开始、结束){
var index=输入。indexOf(开始);
如果(索引!=-1){
索引+=起始长度;
var endIndex=input.indexOf(end,index+1);
如果(endIndex!=-1)
返回input.substr(index,endIndex-index);
}
返回false;
}

那么您想获取所选url的标题,还是该元素的标题属性?@ItayMov我知道,很抱歉试图改进。@drake我正在尝试检索href的标题。好的,现在我得到了这个。基本上,我正在寻找一些像著名的书签网站使用的东西。例如,为您提供该页面的标题。。。这有意义吗?他们提前在服务器上完成。在你的编辑中:这是一个小书签网站。我想不出别的办法来做这件事。我的意思是客户添加了一个网站,你需要给他一个标题…你的意思是使用服务器端代理?是的。如果需要在重新加载之前显示用户添加的标题,则需要使用带有代理的AJAX。否则,您应该在添加书签时查找标题并将其存储在数据库中。这会将链接的标题设置为当前页面的标题(
document.title
)。不要认为那是OP想要的。或者,基本上,SLaks说的!对不起,没有看到您的答案!使用正确的脚本时,不需要服务器端脚本plugin@Drake:错了。除非页面在您的范围内(他暗示不是),否则您需要服务器端代码。这只在您的域内有效。此外,应该使用jQuery解析HTML,而不是进行字符串匹配。(关于
?)@SLaks在声明代码无效之前尝试一下我刚才给出的代码如何。您使用的是服务器端代理;我没有注意到。