我正在开发一个跨域RPC库,我想用qunit进行一些单元测试。
为了正确地进行测试,我设置了一个grunt文件来启动node.js服务器和phantomjs来加载here所描述的测试rpc.html
(使用服务器任务所以可以模拟不同的域,localhost
和127.0.0.1
)。此测试打开一个带有frame.html
的iframe,用于模拟在rpc.html
内声明的RPC命令。
到目前为止一切都很好。我遇到的问题是,只要在frame.html
内发生JS错误,它就不会输出到控制台。仅显示rpc.html
中发生的错误。虽然console.log()
等的输出在frame.html
中有效。
有没有办法可以显示frame.html
中出现的所有JavaScript错误,包括解析错误等?
提前谢谢。
答案 0 :(得分:3)
PhantomJS在其onError
个对象中支持page
个事件处理程序,因此可以截取并处理有关JavaScript异常的信息。
AFAIK,您还应该检查加载的网页是否没有自己的window.onerror
,因为如果它们返回true,则错误将被视为已处理。