Ethereum Can';t使用MetaMask在我的Dapp中注入Web 3-请协助

Ethereum Can';t使用MetaMask在我的Dapp中注入Web 3-请协助,ethereum,smartcontracts,web3,web3js,metamask,Ethereum,Smartcontracts,Web3,Web3js,Metamask,我有一个简单的HTML文件,下面的代码试图从Chrome连接到我的智能合约 if (typeof web3 !== 'undefined') { web3 = new Web3(web3.currentProvider); console.log(web3); } else { // set the provider you want from Web3.providers web3 = new We

我有一个简单的HTML文件,下面的代码试图从Chrome连接到我的智能合约

if (typeof web3 !== 'undefined') {
    web3 = new Web3(web3.currentProvider);
            console.log(web3);
        } else {
            // set the provider you want from Web3.providers
            web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
        }

使用我的localhost:8545代码可以很好地工作,但当我停止localhost时,它只是没有通过MetaMask插件进行连接。我尝试了一切,关闭浏览器,注销MetaMask,重新登录到新页面,重新安装MetaMask。什么都不管用。我的刷新页面一直在寻找本地主机连接。

这可能是相同的问题。

您使用metamask连接到哪个网络?您可以使用metamask连接到本地主机。Marcos,我在尝试我的示例DApp时连接到Roopsten。web3.currentProvider仍显示本地主机。我可以强制web3.currentProvider设置为Roopten或我选择的任何其他网络吗?您是否包括
web3.js
您自己,
?我没有专门包括任何web3.js文件。我依靠metamask进行注射。我需要吗?是否可能需要在web服务器中运行测试HTML文件以启用metamask InjectWeb3?现在我正在尝试上面的代码,只需将我的C:drive中的HTML文件启动到chrome中即可。不,您不需要这样做,但如果是这样的话,就会导致错误。您试图访问哪个URL?
console.log(web3)
是否打印?