当在桌面上使用铬时,连接到infura.io很好,但是当使用safari时,我会遇到CORS问题。此外,移动版本的页面甚至没有加载到设备上。控制台中显示以下消息。
Failed to load resource: Origin http://website.com is not allowed by Access-Control-Allow-Origin.
Fetch API cannot load https://ropsten.infura.io/[ID]/. Origin http://website.com is not allowed by Access-Control-Allow-Origin.我使用的是亚马逊s3,所以我尝试将CORS配置设置更改为类似的设置,但仍然没有效果。
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>http://*</AllowedOrigin>
<AllowedOrigin>https://*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
<AllowedHeader>x-requested-with</AllowedHeader>
<AllowedHeader>origin</AllowedHeader>
</CORSRule>
</CORSConfiguration>这是infura.io常见的问题吗?还有什么是我遗漏的吗?
发布于 2019-04-26 12:31:57
在我的Range7项目中,我遇到了同样的问题,我使用了web3 js版本1.0.0-beta.37“。
一旦将版本降级为web3 1.0.0-beta.34,
它在包括桌面和移动设备(android和ios设备)在内的所有浏览器上运行良好。
此外,如果没有安装,则必须安装“eth”:"0.2.7“。
像下面这样在web3文件中导入.ts,
import Web3 from "web3";
public web3;
constructor() {
this.web3 = new Web3(
new Web3.providers.HttpProvider(environment.transferWeb3ApiUrl)
);
}发布于 2018-11-29 08:10:21
我发现以下问题与您前面提到的问题完全相同:
request.withCredentials在web3 1.0.36测试版上添加。
您可以在此提交中找到相关的更改。
希望上面的链接能有所帮助。
https://ethereum.stackexchange.com/questions/58666
复制相似问题