我尝试获取旧网站的网址,但发生了错误:
Fetch API cannot load http://xyz.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://abc' is therefore not allowed access.
If an opaque response serves your needs, set the request's mode to 'no-cors'
to fetch the resource with CORS disabled.
我的代码看起来像这样
render(){
return (
<div>
<iframe src="http://localhost:8080/.../StockExchangeWidget.html" />
</div>
)
}
当我在iFrame之外加载它时,一切正常,但是当我尝试使用iFrame加载它时,我会遇到很多错误,但仅限于图表的数据,因为你可以看到框架和按钮已加载。
当我尝试在网址内部加载HTML页面时,我也收到了WebSocket错误 WebSocket连接到&#39; wss://widgetdata.tradingview.com/socket.io/websocket?from = widgetembed%2F&amp; date = 2018_06_09-17_59&#39;失败:WebSocket握手期间出错:意外的响应代码:403
答案 0 :(得分:1)
托管iframe的域名需要修改其CORS Policy,以允许您域中的请求到达其网站。如果该页面上没有CORS标头,则您的浏览器将不会呈现iframe的内容(出于安全原因)。
答案 1 :(得分:0)
是的,答案是在PANAYIOTIS指向我的CORS Policy中。
我的代码现在看起来像这样
render(){
return (
<div>
<iframe
sandbox="allow-same-origin"
title="FirstIFrame"
src="http://www.tricky.web.siteHome.do"
/>
</div>
)
}
我在iframe中添加了 sandbox =&#34; allow-same-origin&#34; ,以及所有&#39; cookies&#39;并且&#39;无法上传&#39;问题解决了。
了解更多信息阅读this post这对于此类问题非常有用: