【问题标题】:How to find a JS function declaration in browser sources?如何在浏览器源代码中找到 JS 函数声明?
【发布时间】:2016-01-21 00:01:02
【问题描述】:
如何在FF的源码中找到JS函数声明?
首先我想找到函数“copy”的声明。我打开控制台,输入并执行'copy.toSource()',输出说它是本机代码。我查看了this question page,点击了链接,下载了源代码,我想我会搜索“复制”这个词,但搜索结果是巨大的,大约有 17k 个条目,我无法在这里找到“复制”声明)
任何想法如何找到“复制”声明,在哪个目录中搜索?
PS:看看所有其他功能也会很有趣,例如“console.log”。如果你知道如何找到它的声明,那就太棒了。
【问题讨论】:
标签:
javascript
firefox
spidermonkey
【解决方案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中定义