有谁知道如何对延迟加载的 javascript 进行错误处理?我正在使用一种调用 ajax 请求并在全局范围内对代码进行评估的方法。当发生运行时错误时,它会将文件名作为我的延迟加载脚本吐出,行号是错误行加上加载脚本中我的 eval 的行号。这不会那么糟糕,除非所有的 javascript 文件都被合并到网站各个部分的模块中。围绕 javascript 文件本身的 try catch 不会捕获函数的运行时错误。有任何想法吗?Window.onerror 没有提供正确的文件名,所以它是不可能的。我需要在它被击中之前抓住它。
我在想也许我可以以编程方式在eval'd代码中的所有函数周围包含try catchs(这很丑陋),但由于它是在窗口级别完成的,我不确定如何具体和动态地访问eval'd代码. 当然,如果 javascript 是一个名为“Bob”的对象,我可以访问 window.Bob,但我需要动态地进行。