首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能将MetaMask Web3提供程序注入到通过XAMPP服务的页面

不能将MetaMask Web3提供程序注入到通过XAMPP服务的页面
EN

Ethereum用户
提问于 2018-04-20 21:58:59
回答 1查看 693关注 0票数 1

标题给出了几乎所有的东西,但为了完整起见,我将在这里重复一遍。我对Ethereum很陌生,并且正在开发一个通过前端访问的Ethereum,它是用Javascript编写的,并使用Web3与Rinkeby通信。正如我听说的那样,file://,无法连接任何托管在file:///C:/xampp/htdocs/voterScreen.html)上的站点,我将前端托管在XAMPP服务器上(file:///C:/xampp/htdocs/voterScreen.html)用于测试目的)。现在我仔细想想,它仍然在文件中运行://.也许这就是导致这个问题的原因?

我的实际前端工作得很好,能够阅读我的合同,并且所有的方法都能正常工作。只有一个小问题--我不能给链子写信,因为我的Web3不是从Metamask注入的,即使我已经登录并且正在搜索它。我的前端有一段标准代码:

代码语言:javascript
复制
 if (typeof web3 !== 'undefined') {
        web3 = new Web3(web3.currentProvider);
        console.log("Metamask logged into successfully");
    } else {
        console.log("Metamask NOT logged into successfully");
        // set the provider you want from Web3.providers
        ***(other attempts at finding provider)***
}
(rest of code)  

事实上,每当我运行这个程序时,我都会看到"Metamask未成功登录“,这证实了Metamask没有被注入。这是一个小问题,因为我需要的信息签署投票事务,我希望前端能够发送。作为参考,在控制台中显示了以下弃用警告:

代码语言:javascript
复制
[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its 
detrimental effects to the end user's experience. For more help, check 
https://xhr.spec.whatwg.org/.

我怀疑这与问题有关,但我只是以防万一。

不管是哪种情况,有没有人知道为什么MetaMask一直没有被注入?谢谢。

EN

回答 1

Ethereum用户

发布于 2018-04-20 22:19:40

出于安全考虑,元a不会将提供程序注入文件系统上托管的站点。要解决这个问题,您可以通过本地web服务器提供文件。要做到这一点,您必须通过服务器,即通过http访问文件。使用默认的XAMPP配置,尝试URL http://127.0.0.1/voterScreen.html。这将访问您的本地文件,但它将通过服务器传递,该服务器满足元请求的安全性要求。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/46282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档