当Internet Explorer 8上的JavaScript发生异常时,我需要获得完整的调用堆栈.函数调用可能发生在数量很大的帧之间.
调用堆栈以将日志发送给开发人员.我不能使用调试器,因为最终用户不必处理这个问题.
JavaScripts的当前解决方案提供了它可以生成callstack(http://eriwen.com/javascript/js-stack-trace/).它基于arguments.callee.caller.但是如果从当前帧外部调用函数,则调用者返回零(未定义).因此获得的callstack是不完整的.
在这种情况下,我可以获取从中调用函数的框架的名称吗?
基于活动脚本技术的解决方案提供了ScriptEngine类型的对象:IHTMLDocument :: get_Script(IDispatch**p)
但是将对象"script"转换为IActiveScript接口失败.
*我可以从IE8中获取用于给定上下文ScriptEngine的链接,以提取构建callstack所需的信息吗?
javascript internet-explorer exception-handling javascript-engine