如果是同一网域中,则可以直接将iframe的src置为输入的网址,然后获取其title。上面的方法是跨网域的,因为安全的原因浏览器好像禁止了不同网域页面脚本相互访问。
1。如果是本域访问的话可以使用以下代码实现获取标题<!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读取该脚本来得到这个值
希望对你有帮助,谢谢
<a id="link" title="test">123</a><script>
var ele = document.getElementById('link')
var i = ele.title//用js的点方法获得:对象.属性名,兼容IE
var j = ele.getAttribute('title')//标准的DOM方法,IE8及以下版本不支持
alert(i+"|"+j)
</script>