Firefox C++源代码帮助来检测页面结束内容下载
Firefox C++ Source Code help for detecting end of page content download
我需要检测网页及其所有内容和嵌入式URL,图像,音频,视频等何时完全下载。我调试了文件 docshell/base/nsDocShell.cpp --> nsDocShell::LoadURI()。它清楚地表明页面加载已完成,但唯一的问题是我仍然可以看到正在进行的页面下载,而上面的 API 指示页面下载已结束。有人可以帮忙吗,我是否寻找/挖掘错误的位置?我不必编写插件或扩展,而只需深入研究基本源代码并获取信息。
好吧,没有单一的"全部下载"状态。下载"所有内容"后,解析器可能仍处于活动状态,随着解析更多图像标签和脚本标签,导致更多下载,依此类推。解析器甚至可能暂停,例如,当遇到同步脚本标签时。
当document.readyState
设置为 "complete"
并且调度文档的 load
/error
事件时,可能会出现最接近的"全部完成"状态。这发生在 (IIRC) 在 nsDocumentViewer::LoadComplete
.
即便如此,由于脚本插入新标记、触发 CSS 规则、XMLHttpRequest 等,可能会加载更多的外部资源。由于这个原因,现代网站从未完全加载。
相关文章:
- 为什么在这个代码结束循环中没有得到结束
- 试图对缓存进行跨步测试,但程序并没有结束
- 当调用switch语句中的函数时(即使函数不包含循环),似乎是永不结束的循环的问题
- 下载URL中的所有文件
- 为什么擦除方法会影响结束方法
- 根据用户输入用字母填充矢量,并将"开始"和"结束"放在四肢
- 删除映射和分割错误中的一个过去结束元素
- 如何使用 SFML 在贪吃蛇游戏中定义游戏结束?
- 为什么我的两个 cin 语句没有在程序结束时运行?
- 在函数结束后使用指向变量的指针是否安全?
- VisualStudio:使用 Suse Enterprise Server 12 SP5 时,不会下载远程库标头
- 从 C++ 上的网址下载文件
- C ++尝试并捕获未结束的程序
- 为什么我的程序在输入某个形状的面积的测量值后没有结束?
- 取消引用结束指针到数组类型的一个
- 如何在 c++ 中确定一条指令(以字节为单位)在哪里结束,另一条指令从哪里开始?
- 结束另一个线程中使用的对象的生存期
- 全局向量导致 C++ 程序结束时出现段错误
- libcurl :显示正在运行的上传和下载速率
- Firefox C++源代码帮助来检测页面结束内容下载