我有一个我正在尝试追踪的错误,由于网络应用程序的复杂性,这样做非常困难。有许多框架和许多以不同方式嵌入到 HTML 中的 Javascript 代码实例。
需要修复的是创建的子页面showModalDialog
(所以你已经知道这将是一场灾难),我希望我能找到一种方法来序列化尽可能多的 DOM在这个对话框页面中上下文,以便我可以在存在和不存在错误时将其打开到相同的内容,以希望检测丢失/额外/不同的 Javascript,这将通过 diff 抽取结果变得明显。
我试过了jQuery(document).children().html()
。这有点像那里(它能够序列化一个外部<script>
标签!),但不包括 iframe 的内容(大部分页面内容的深度约为 3 iframe/frame 级别)。
我确实有一个我很高兴自己制作的自定义脚本,因为它能够递归地进入框架层次结构,所以我想我可以.html()
结合使用它来获得我的“序列化”,然后我可以做一些手动检查它是否与网络检查员告诉我的相符。
也许我可以给出一些标志html()
来让它递归到 iframes/frames 中?
然而,真正的问题是如何获取在这个特定页面上下文中加载的所有JS 代码的转储。由于这种情况的重要服务器端组件,javascript资源可以是完全动态的,因此也应该检查差异。我将如何(在客户端的 JS 中)提取<script src='path'>
标签的原始内容以放入序列化中?我可以通过手动拦截这些资源来解决这个问题,但如果一切都可以与 diff 一起使用,那就太好了。
除了使用 ajax单独重新请求那些 JS 资源(不是来自脚本标签)之外,没有其他办法吗?