【问题标题】:Host external website page on my html page without server code [duplicate]在没有服务器代码的情况下在我的 html 页面上托管外部网站页面 [重复]
【发布时间】:2015-04-20 17:00:39
【问题描述】:

我想要实现的是:

在我的 html 页面上托管一个外部网站页面,无需任何服务器端代码,并使用 Jquery 从该页面获取特定的 html 元素。

我采取的方法是: 我的页面上有一个 iframe 对象,它的 href 设置为外部网页。但是当我尝试访问外部网页的内容时,它给了我“跨源请求被阻止:”错误

有解决这个问题的建议吗?

【问题讨论】:

  • 由于政策,您不能这样做。这只是一个安全问题。解决这个问题的唯一方法是允许它来自主机域,即使那样你也可能会遇到问题。抱歉,由于误用,您正在尝试执行浏览器不允许的操作。
  • 这是一项专门用于阻止像您这样的人的安全功能。当你只想得到一些珠宝时,不妨问问如何避开警察。如果您认为您对数据有有效的声明,您可以要求主机允许您访问。或者您可以使用服务器脚本为您获取数据。
  • @Amadan 这有点奇怪。以编程方式向第三方站点发出请求本身并没有错,只是出于安全原因在 JS 中被阻止。
  • @RoryMcCrossan:两者都是安全的。一种用于珠宝商,一种用于目标主机(以及主机的客户)。跨服务器客户端请求的主要问题是它们不像服务器请求那样可追踪 - 如果您有一个服务器发出您不喜欢的请求,您可以阻止它的 IP,但是给定目标主机的所有客户端都会有不同的 IP,无法确定哪个源主机负责。当然还有其他问题,但银行不允许使用巴拉克拉法帽是有原因的,即使你是合法地穿着它来御寒。

标签: javascript jquery html


【解决方案1】:

由于Same Origin Policy,这在客户端 JS 中是不可能的 - 正如您通过该错误消息发现的那样。

要实现您的需要,您必须在服务器端发出请求。然后你可以通过JS向本地服务器发起请求,得到你需要的结果。

【讨论】:

    猜你喜欢
    • 2017-10-02
    • 1970-01-01
    • 2021-01-19
    • 2013-06-12
    • 2021-08-13
    • 2023-03-19
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多