'Metamask / web3 authenticating user

I am working with web3.js. I have installed metamask in my chrome browser. I have fetched the wallet address but when I have used new web3(window.ethereum); got an error like (index):365 Uncaught (in promise) TypeError: web3 is not a constructor. my code is :-

$(document).ready(function () {             
        
    const ethereumButton = document.querySelector('.enableEthereumButton');
    const showAccount = document.querySelector('.ethereumwalletaddress');
    const showErrorAccount = document.querySelector('.walletErrorMessage');
    
    ethereumButton.addEventListener('click', () => {
      
        if (typeof window.ethereum !== 'undefined') {
            getAccount();  
        }else{window.open("https://metamask.io/download/",'_blank');}     
    });

    async function getAccount() {        
        accounts =  await window.ethereum.send('eth_requestAccounts');     
        console.log(accounts['result']['0']);
        window.web3 = new web3(window.ethereum);
        var accounts = await web3.eth.getAccounts();
        signature = await web3.eth.personal.sign(message, account);
     }
 })       

what can I do to resolve this ?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source