如何在另一个域获取页面的页面源代码(在Javascript中!)

时间:2010-09-12 06:32:54

标签: javascript

我正在尝试在不同的域上获取网页的源页面。我知道这很容易用PHP完成,但我想在Javascript中这样做,因为我从页面获得结果,如果我使用服务器端语言,原始网站将阻止调用,因为它们来自同一个IP。但是,如果调用是在客户端完成的,则就像用户每次请求结果一样(不同的用户,不同的IP,没有原始站点阻止我)。有没有办法做到这一点(即使不是在Javascript而是在客户端)。

为了澄清我想要的代码将应用于HTML页面,以便我可以获得结果,设置样式,添加/删除等,然后将它们显示给用户。

谢谢。

3 个答案:

答案 0 :(得分:3)

现代浏览器支持跨域AJAX调用,但目标站点必须通过在回复中使用特殊标头来允许它们。除此之外,没有纯粹的Javascript解决方案AFAIK。

答案 1 :(得分:0)

在Windows上,您可以使用HTA

HTA可以访问iframe中的任何跨域名,例如

答案 2 :(得分:0)

你能使用iframe吗?由于跨域限制,您无法直接访问标记,但您仍然可以向用户显示第三方页面...

window.onload = function() {
  var i = document.createElement("IFRAME");
  i.setAttribute("name", "ID_HERE");
  i.setAttribute("id", "ID_HERE");
  i.setAttribute("src", "URL_HERE");
  i.style.maxHeight = "300px";
  i.style.width = "100%";
  document.body.appendChild(i);
}