禁用Metamask后,Web3js发送事务不会失败

时间:2018-12-15 00:36:44

标签: web3 metamask

基本上,我有一个dapp从window.web3(从metamask注入)中获取web3对象。

当我从chrome禁用扩展(不删除,仅禁用)时,将跳过web3调用,不会生成回调。

要复制

  1. 在浏览器中安装元掩码
  2. 禁用它
  3. 在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对象设置为null或类似的事件?

enter image description here

0 个答案:

没有答案