使用Javascript来获取远程页面上的元素

时间:2011-05-26 02:40:25

标签: javascript jquery html

我想从远程HTML页面中获取一个元素。当我从不同的域请求数据时,我使用以下代码将源添加为脚本。是的,非常狡猾。

<script type="text/javascript">
    var script = document.createElement('script');
    script.setAttribute('type', 'text/javascript');
    script.setAttribute('src', 'http://remoteDomain.com/page.html');
    document.getElementsByTagName('head')[0].appendChild(script);
</script>

上面的代码提取并将整个页面附加到我的文档头。好像工作还可以。但是现在我想能够通过ID获取元素,甚至可以从此源获取正则表达式。

可以这样做吗?

我知道上面的代码很脏,所以我很乐意收到任何清理它的建议!

3 个答案:

答案 0 :(得分:3)

确实很狡猾......但是你可以使用跨领域的AJAX技术。这里有一些帮助:http://usejquery.com/posts/9/the-jquery-cross-domain-ajax-guide

答案 1 :(得分:0)

  

上面的代码提取并将整个页面附加到我的文档头。

它并不是真的,只是创建了一个script元素,其src指向那里。

看起来你正试图绕过Same Origin Policy

您可以使用服务器端代理吗?

答案 2 :(得分:0)

浏览器会竭尽全力阻止客户端进行此操作,除非您尝试阅读的网站明确选择加入。

否则,您访问的任何随机网页都可以从您的银行帐户中读取信息,比如说。