В основном у меня есть dapp, который получает объект web3 из window.web3 (внедренный из метамаски).
Когда я отключаю расширение из Chrome (не удаляя, а просто отключая), вызовы web3 пропускаются, обратный вызов не создается.
Воспроизвести
- Установите метамаску в вашем браузере
- Отключите ее
- В dapp отправьте транзакцию
Мой код:
const getData = myContract.myMethod.getData(parameters);
web3.eth.sendTransaction({ from: from, to: CONTRACT_ADDRESS, data: getData }, function (error, result) {
console.log("Callback !")
});
Я полагаю, что sendTransaction должна завершиться с ошибкой или выдать ошибку
- ОС: Windows
- Браузер: протестировано на Chrome и Mozilla Firefox
- Версия MetaMask: Последняя версия 5.2.2
Есть идеи?
Проблема только в том, когда отключен, когда плагин установлен или удален из Chrome, я получаю правильные ответы (всплывающее окно показывает и выдается ошибка соответственно)
Я реализовал, что еслиПользователь обновляет страницу, которую получает экземпляр web3, и если он отключен, то объект web3 имеет значение null.Проблема в том, что браузер не обнаруживает отключение до перезагрузки
. Я вижу, что при отключении веб-страницы отображаются эти предупреждения, но ... есть ли способ обнаружить эти события, чтобы установить объект window.web3 вноль или что-то?