如何用js获取链接指向的页面中的信息
刚接触js,想通过写一个实际的chrome扩展来入门。
想请教各位,js能获取到当前页面<a>中的url,那怎样才能获取url对应页面中的元素信息?
[解决办法]
天安门的地址是在北京,那你告诉我,天安门现在的旗杆下,有多少个保安?保安的手里拿的是什么?
不可能直接取到的,是东是西,你得先看到那个东西再说。
先设置一个iframe, 将iframe的src指定为a中的url, 再取吧。
[解决办法]
做一个测试, 建立两个页面: a.htm , b.htm
在三种浏览器中都是完全正常的。
不过b.htm换成http://www.baidu.com就出错了,确实不能跨域。
你再查查Chrome的开发代码吧,看有没有办法取得比较高的权限来做这个事情。
1. a.htm
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
//IE8/IETest 6 , Firefox , Chrome 均可
function test(){
var iFrame = document.getElementById("profileFrame");
var iFrameElement = iFrame.contentWindow.document.getElementById('content');
alert(iFrameElement.innerHTML);
}
//IE8/IETest 6 , Firefox , Chrome 均可
function testJQ(){
var objHtml = $("#profileFrame").contents().find("#content").html();
alert(objHtml);
}
</script>
</head>
<body>
<div id="divM" style="width:100%;height:900px;" >
<input type="button" onclick="test()" value="js获取子页面中的元素" /><br /><br />
<input type="button" onclick="testJQ()" value="jQuery获取子页面中的元素" /><br /><br />
<iframe id="profileFrame" src="b.htm" width="300" height="300" ></iframe>
</div>
</body>
</html>
2. b.htm
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div id="content" style="width:100%;height:900px;" >
敢取我呀,不想死了?
</div>
</body>
</html>