几天前我在谷歌Chrome 40版本上测试我的应用程序。我有一个客户端错误记录系统,它通过循环参数.callee生成堆栈跟踪。通过这样做我生成堆栈跟踪。
stackTrace = function(){
var currFunc = arguments.callee;
var j =0;
var listTrace =[], fn;
while (currFunc && listTrace.length < 20) {
//Limit stack track to 20 functions
fn = currFunc.toString();
listTrace[j++] = fn;
currFunc = currFunc.caller;
}
return listTrace;
};
仅在今天才将我的Chrome更新为44版本,现在问题是我无法获得堆栈跟踪。我调试找出原因并看到argument.callee.caller为null。我不知道为什么,但我读到JS绑定函数可以导致这个。不过不知道。我该如何解决这个问题?是否有其他方式可以获得来电者?