【问题标题】:Embed external site into page and interact with content将外部网站嵌入页面并与内容交互
【发布时间】:2018-12-29 20:03:09
【问题描述】:

我正在尝试在页面上加载外部网站并与内容交互,例如添加事件侦听器(用于加载的外部网站的内容)。这不适用于 iframe,因为我无法与内容交互,我尝试使用 react 来实现,当我想向 iframe 添加事件侦听器时,我收到以下 js 错误Uncaught DOMException: Blocked a frame with origin "http://localhost:3000" from accessing a cross-origin frame. 我认为这是不可能的,但后来我从一个似乎可以做到这一点的工具中看到了这个视频:https://youtu.be/qinZviJajcw?t=21

有人知道这是否可以实现吗?

谢谢!

【问题讨论】:

  • 演示显示import.io - 我相信他们通过他们的服务器代理远程网站以绕过CORS和其他跨站点脚本预防措施,但如果我错了,请纠正我。
  • 所以你的意思是他们可能是从服务器渲染网站?

标签: javascript reactjs web iframe cross-domain


【解决方案1】:

从表面上看,您没有设置跨域请求 (CORS)。对于 ASP.NET,请检查以下内容:

https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-2.1#setting-up-cors

具体来说,您需要修改 Startup.cs 文件以启用 CORS。

如果您不使用 ASP.NET,那么我建议您使用 Google CORS 搜索您正在使用的任何 Web 后端。

【讨论】:

  • OP 希望使用 iframe 和客户端脚本将第三方网站加载到自己的网站中。 OP 自己的服务器端代码无关紧要,因为浏览器不是向 OP 的站点发出 CORS 请求,而是向第三方站点发出 CORS 请求。
  • 我认为这不是我想要的
猜你喜欢
  • 2015-12-05
  • 2011-02-08
  • 1970-01-01
  • 2020-10-29
  • 2014-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-18
相关资源
最近更新 更多