打开网页后立即获取网页的活动javascript函数
To get the active javascript functions of a webpage as soon as we open
我想打印从网页对web浏览器进行的函数调用,即javascript的活动函数。但我想我的方法是不正确的,因为在下面代码的帮助下,我得到了所有的javascript函数。
function tracecalls(par) {
var f, fname;
for (fname in window) {
f = window[fname];
if (typeof fun === 'function') {
window[fname] = (function(fname, fun) {
var arg = arguments;
return function() {
return par.apply(this, arg);
f.apply(this, arg);
}
})(fname, f);
}
}
}
tracecalls(function(fname, f) {
console.log("Function Name : " + fname);
});
在阅读了一些文章后,我了解到,我们可以获得活动函数,即在Ecmascript 6 Proxy的帮助下动态调用的函数的名称。由于我对此完全陌生,任何人都可以指导我如何处理代理。。
您的方法实际上是正确的,只是在实现中犯了一些错误。
不要尝试在这里使用代理,这要复杂得多,而且无论如何都不能将全局对象换成其自身的代理版本。
function tracecalls(par) {
for (var name in window) {
if (typeof window[name] === 'function') {
// ^^^^^^^^^^^^ there is no variable `fun` anywhere
window[name] = (function(fname, f) {
// ^ don't use `fun` here
// you don't need `var arg = arguments;` here
return function() {
par(fname);
// ^ ^^^^^ you don't need apply, just pass the name
// ^ no return here
return f.apply(this, arguments);
// ^^^^^^ yield result ^^^^^^^^^ pass through current arguments, not `arg`
}
}(name, window[name]));
}
}
}
tracecalls(function(fname) {
console.log("Function Name : " + fname);
});
相关文章:
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 如何防止网页加载后自动启动功能
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 活动选项卡's源代码-获取变量s值
- 如何使用Node.js最有效地解析网页
- 在Angular 2中布线期间保持零部件处于活动状态
- 刷新后保留对网页的更改
- 在ajax成功后,cluetip不适用于首次点击活动元素
- 打开网页后立即获取网页的活动javascript函数
- 网页在等待 AJAX 响应时变为非活动状态
- 如何知道单击了哪个按钮,以便我可以在同一活动中打开网页
- 如果 10 分钟后网页上没有用户活动,如何向上滚动到向下滚动页面
- 如何在图像加载时通过预加载和显示活动指示器快速加载网页中的图像
- 邀请用户's的朋友通过网页参加facebook活动
- 滑动下划线边框以使用活动网页
- 如何在下拉菜单中为活动网页加下划线
- 如何创建一个网站/网页,执行后端服务器活动
- 如何使用chrome浏览器动作在活动选项卡中加载网页?
- 这个网页是如何更新的?萤火虫显示没有网络活动
- 正在获取网页中的活动元素或焦点元素Id