Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 元掩码web3未定义_Javascript_Web3_Metamask - Fatal编程技术网

Javascript 元掩码web3未定义

Javascript 元掩码web3未定义,javascript,web3,metamask,Javascript,Web3,Metamask,我已经在本地PC上构建了一个eth节点。 代码没有问题。 但当我从eth节点退出时, 并使用metamask运行代码,web3未定义 你能告诉我如何解决这个问题吗 <!DOCTYPE html> <html> <head> <title>Using web3 API with MetaMask</title> <script src="https://cdn.jsdelivr.net/gh/ethereum/web3.js/dis

我已经在本地PC上构建了一个eth节点。 代码没有问题。 但当我从eth节点退出时, 并使用metamask运行代码,web3未定义

你能告诉我如何解决这个问题吗

<!DOCTYPE html>
<html>
<head>
<title>Using web3 API with MetaMask</title>
<script src="https://cdn.jsdelivr.net/gh/ethereum/web3.js/dist/web3.min.js"></script>
<!-- for ecrecover -->
<script type="text/javascript" src="D:\blockchain\test\ethereum\ethereumjs-util.js"></script>
<script>
window.addEventListener('load', function() {
  // Checking if Web3 has been injected by the browser (Mist/MetaMask)
  if (typeof web3 !== 'undefined') {
    // Use Mist/MetaMask's provider
    window.web3 = new Web3(web3.currentProvider);
  } else {
    console.log('No web3? You should consider trying MetaMask!')
    window.web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
  }
</script>
</head>
</html>

将web3 API与MetaMask一起使用
addEventListener('load',function()){
//检查浏览器是否已注入Web3(Mist/MetaMask)
如果(web3的类型!==“未定义”){
//使用Mist/MetaMask的提供程序
window.web3=新的web3(web3.currentProvider);
}否则{
控制台。日志(“没有Web3?你应该考虑尝试元语言!”)
window.web3=new web3(new web3.providers.HttpProvider(“http://localhost:8545"));
}

您是否尝试从
文件提供服务://
?如果是,它将不起作用。MetaMask拒绝提供文件系统URL。通过web服务器为您的应用程序提供服务。一行代码,如
python-m SimpleHTTPServer 8000
就可以了。

当您的以太坊节点关闭时,您的网站无法从您的节点获取信息,您可以切换发送到infura.io提供程序

window.web3 = new Web3(new Web3.providers.HttpProvider("https://mainnet.infura.io"))

环境:铬、metamask