idragonet
千年狐狸
千年狐狸
  • UID15658
  • 注册日期2006-11-12
  • 最后登录2017-11-15
  • 发帖数2642
  • 经验162枚
  • 威望1点
  • 贡献值74点
  • 好评度118点
  • 社区居民
阅读:8697回复:4

扩展开发请教:如何避免使用“eval”?

楼主#
更多 发布于:2012-05-21 16:47

Your add-on still uses the 'eval' function unnecessarily, which is something we normally don't accept.


AMO:Editors/EditorGuide/AddonReviews
https://wiki.mozilla.org/AMO:Editors/Ed ... donReviews

Easy DragToGo+  easydragtogo.js代码段:
主要是下面这段(功能:使用自定义代码)使用了eval:

  customCode: function(code, url, src, target, X, Y) {
    eval(code);
  },


改为这样的无法通过,那位大侠知道该如果修改吗?
   customCode: function (code, url, src, target, X, Y) {
        var customFn = new Function("target", "url", "src", "X", "Y", code);
        customFn(target, url, src, X, Y);
    },


idragonet
千年狐狸
千年狐狸
  • UID15658
  • 注册日期2006-11-12
  • 最后登录2017-11-15
  • 发帖数2642
  • 经验162枚
  • 威望1点
  • 贡献值74点
  • 好评度118点
  • 社区居民
1楼#
发布于:2012-05-21 16:47
大概知道方法了:

“Components.utils.evalInSandbox 的使用,这是一种在没有 chrome 权限的情况下用来 eval 代码(如远程代码)的方式。"

Components.utils.evalInSandbox
https://developer.mozilla.org/en/Compon ... lInSandbox
游客

返回顶部