<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>A</title>
<script type="text/javascript" src="http://www.tuanpub.com/script/jquery-1.4.2.min.js"></script>
</head>
<body>
</body>
<html>
<script type="text/javascript">
var b = null
$(document).ready(function() {
$.get(
'http://www.baidu.com/',
{},
function(data){
b = data
var tt = data.match(/<title>(.+)<\/title>/)
alert('你要的标题是:'+$('#ttb').text(tt[1]))
}
)
})
</script>
很可惜你是跨域访问所以无效
2.跨域访问
思路是这样的,js是无法跨域获取东西的,除了使用jsonp来跨域获取(很明显对端baidu.com并没有相应的jsonp给你抓,也没有xml暴露给你)所以单用js或者ajax是无法实现的
那这里有一个变通的方法,需要通过后端asp,aspx脚本,称为代理模式,你可以使用asp.net的的类去抓去baidu页面获取到title然后通过js读取该脚本来得到这个值
希望对你有帮助,谢谢
如果仅仅是获得标题的话,这里有一个思路:用JavaScript提供的HTTP Request对象,发送一个HTTP请求,然后分析返回的文本,获取其中title标记的内容(可以用字串匹配的方法)。或者,将返回的文本写入一个iframe的document,然后获得此iframe的title。如果是同一网域中,则可以直接将iframe的src置为输入的网址,然后获取其title。上面的方法是跨网域的,因为安全的原因浏览器好像禁止了不同网域页面脚本相互访问。
究竟是要【当前页面】的标题还是【文本框输入的URL】的标题?如果是前者,则 document.title 就是;
如果是后者,则要通过ajax获取指定url的页面内容,再从中分析出其标题。