日期:2014-05-16  浏览次数:20364 次

如何用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>