javascript - 新代理不适用于 Chrome 中的功能

标签 javascript google-chrome ecmascript-6 v8 proxies

new Proxy(function() {}, {})

创建代理以监视函数在 Chrome 上不起作用。相反,它会抛出一个错误:

Uncaught illegal access

我想监视一个函数并在访问其属性时创建一个代理处理程序。在 Firefox 中看起来不错。有什么办法可以解决这个问题?

最佳答案

这是 Chrome devtools 控制台试图显示结果的问题,而不是代理构造函数本身的问题。您使用的是哪个版本的 Chrome?

在 Chrome 50 控制台中,我看到了这个:

> let p = new Proxy(function(){return 6},{})
< undefined
> p
< #<Function>
Uncaught illegal access
  DebuggerScript.getFunctionScopes @ (program):4
> p()
< 6

所以函数代理工作得很好,但控制台 barfs 显示它。应该在最新的 Chrome 版本中修复。现在,您可以忽略该错误。

关于javascript - 新代理不适用于 Chrome 中的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36961906/

相关文章:

javascript - 将两个带有 alpha 边框的 .png 图像与 CSS 混合

google-chrome - 使用键盘快捷键浏览 Google 搜索结果

javascript - 摆脱链接标签?

google-chrome - Cypress Chrome chrome-error ://chromewebdata/错误

javascript - 添加依赖项时使用 useEffect() Hook 时如何避免无限循环?

javascript - 不使用 thickbox tb_inline 显示数据

javascript - 将(对象的)数组插入 mysql 数据库

javascript - 如何使用 Javascript 设置动态字符串值?

node.js - 汇总后 crypto.createHmac 未定义

javascript - ES6 中的 "yield is reserved word"