使用javascript跟踪另一个javascript脚本?
我只是想知道是否有任何方法可以让库、框架和教程使用另一个脚本跟踪javascript?基本上,我希望在用户使用站点时,尽可能详细地跟踪哪个函数使用什么参数执行等等使用javascript跟踪另一个javascript脚本?,javascript,Javascript,我只是想知道是否有任何方法可以让库、框架和教程使用另一个脚本跟踪javascript?基本上,我希望在用户使用站点时,尽可能详细地跟踪哪个函数使用什么参数执行等等 非常感谢 有几个选择,但我不确定是否有好的选择。我认为Firebug/IE开发者工具栏评测无法工作,因为您正试图跟踪远程用户的操作 因此,我并不极力推荐一个用于制作目的的选项,它可以在一些但不是所有浏览器中使用 本质上,您使用一个包装器覆盖每个函数,然后注入日志记录。 我还没有测试过这个,试着从记忆中回忆起来。。。希望在伪代码中,您能
非常感谢 有几个选择,但我不确定是否有好的选择。我认为Firebug/IE开发者工具栏评测无法工作,因为您正试图跟踪远程用户的操作 因此,我并不极力推荐一个用于制作目的的选项,它可以在一些但不是所有浏览器中使用 本质上,您使用一个包装器覆盖每个函数,然后注入日志记录。 我还没有测试过这个,试着从记忆中回忆起来。。。希望在伪代码中,您能够理解
//e.g. get all functions defined on the global window object
function logAll(){
var funcs = [];
var oldFunc;
for(var i in window){
try {
if(typeof(window[i]) == 'function'){
if(i != 'logAll'){
funcs.push(i);
}
}
} catch(ex){
//handle as desired
}
}
var x;
for(var i in funcs){
x = '_' + new Date().getTime();
window[x] = window[i];//save the old function as new function
//redefine original
window[i] = function(){
//do your logging here...
//then call the real function (and pass all params along)
call(window[x]);
};
}
};
<> P>你所期望的细节对于任何收集和报告的解决方案来说都是具有挑战性的,而不会严重减慢你的脚本——考虑到每次调用,至少需要1次其他调用来收集这个。
你最好选择一些关键事件,比如鼠标点击等,然后只跟踪一些细节,比如时间。如果您使用的是ajax,请不要忘记JavaScript和浏览器,只需在服务器端跟踪即可。在任何版本的IE中都不起作用,因为出于某些空洞的原因,它不会迭代使用for..in的用户脚本全局。