如何在浏览器源中找到JS函数声明?

时间:2015-10-21 20:29:59

标签: javascript firefox spidermonkey

如何在FF的源代码中找到JS函数声明?

首先,我想找到功能声明" copy"。我打开了控制台,输入并执行了copy.toSource()',输出表示它是本机代码。我看了this question page,关注了链接,下载了源代码,我想我只是搜索单词' copy'但是搜索结果很庞大,有大约17,000个条目,我无法找到' copy'声明在这里)

任何想法如何找到'复制'声明,在哪个目录中搜索?

PS:看看所有其他功能也很有趣,例如' console.log'。如果你知道如何找到它的声明,那就太棒了。

1 个答案:

答案 0 :(得分:1)

copy的来源(假设您的意思是“复制到剪贴板”)位于./toolkit/devtools/webconsole/utils.js。它很小,所以这里是:

WebConsoleCommands._registerOriginal("copy", function JSTH_copy(aOwner, aValue)
{
  let payload;
  try {
    if (aValue instanceof Ci.nsIDOMElement) {
      payload = aValue.outerHTML;
    } else if (typeof aValue == "string") {
      payload = aValue;
    } else {
      payload = JSON.stringify(aValue, null, "  ");
    }
  } catch (ex) {
    payload = "/* " + ex  + " */";
  }
  aOwner.helperResult = {
    type: "copyValueToClipboard",
    value: payload,
  };
});

console.*

中定义了./dom/base/Console.cpp个函数