Мне нужно получить полный стек вызовов, когда в JavaScript возникает исключение в Internet Explorer 8. Вызовы функций могут происходить между фреймами, число которых велико.
Необходим стек вызовов. отправлять логи разработчикам. Я не могу использовать отладчик, потому что конечный пользователь не должен решать эту проблему.
Текущее решение для JavaScripts при условии, что оно может генерировать стек вызовов ( http://eriwen.com/javascript/js-stack- трассировка / ). Он основан на arguments.callee.caller. Но вызывающий возвращает ноль (неопределенный), если функция была вызвана вне текущего кадра. Таким образом, полученный стек вызовов является неполным.
Могу ли я получить имя кадра, из которого функция была вызвана в этом случае?
Решение, основанное на технологии Active Scripts, дает объект типа ScriptEngine: IHTMLDocument :: get_Script (IDispatch ** p)
Но приведение объекта «скрипт» к интерфейсу IActiveScript не удается.
* Могу ли я получить из IE8 ссылку, которая будет использоваться для данного контекста ScriptEngine, чтобы извлекать необходимую информацию для создания стека вызовов?