JavaScript怎么通过输入框输入的网址获取它的标题

JavaScript021

JavaScript怎么通过输入框输入的网址获取它的标题,第1张

如果仅仅是获得标题的话,这里有一个思路:用JavaScript提供的HTTP Request对象,发送一个HTTP请求,然后分析返回的文本,获取其中title标记的内容(可以用字串匹配的方法)。或者,将返回的文本写入一个iframe的document,然后获得此iframe的title。

如果是同一网域中,则可以直接将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>