我有一个运行JScript的脚本宿主。在某些情况下,我必须跟踪是否调用了我的公开对象的方法以及调用它的位置。为此,我需要确定脚本引擎当前在对象方法中的位置。
它应该与调用我的网站的OnScriptError时的信息相同:源行源char和我传递给ParseScriptText的cookie。
是否可以在不产生错误的情况下获取此信息?
答案 0 :(得分:0)
不知道ParseScriptText是什么。
(来自https://github.com/emwendelin/Javascript-Stacktrace和http://eriwen.com/javascript/stacktrace-update/)
other: function(curr) {
var ANON = '{anonymous}', fnRE = /function\s*([\w\-$]+)?\s*\(/i,
stack = [], fn, args, maxStackSize = 10;
while (curr && stack.length < maxStackSize) {
fn = fnRE.test(curr.toString()) ? RegExp.$1 || ANON : ANON;
args = Array.prototype.slice.call(curr['arguments']);
stack[stack.length] = fn + '(' + this.stringifyArguments(args) + ')';
curr = curr.caller;
}
return stack;
},