Tampermonkey在Chrome 126+版本中的XHR流式响应崩溃问题分析
在Tampermonkey脚本管理器的最新使用中,开发者发现了一个与Chrome浏览器126及以上版本相关的严重兼容性问题。当脚本尝试通过XHR(XMLHttpRequest)获取流式响应数据时,会导致浏览器崩溃并显示"STATUS_ACCESS_VIOLATION"错误。
问题现象
开发者在使用Tampermonkey beta版本(v5.2.6198)时发现,当脚本设置XHR的responseType为"stream"来获取流式数据,并将响应内容填充到网页body中时,会导致整个页面崩溃。错误表现为空白页面,并伴随STATUS_ACCESS_VIOLATION或SIGSEGV错误提示。
值得注意的是,这一问题仅出现在Chrome 126.0.6478.62及更高版本中,而在Chrome 120至125版本中则运行正常。其他浏览器如Firefox等也不存在此问题。
技术分析
经过深入调查,发现问题核心在于Chrome 126版本对XHR流式响应处理的内部机制变更。当Tampermonkey脚本尝试以下操作时触发崩溃:
- 创建XHR请求并设置responseType为"stream"
- 获取流式响应数据
- 将数据插入DOM
这种崩溃属于内存访问违规,表明Chrome在处理特定类型的流数据与DOM操作结合时存在底层缺陷。
临时解决方案
在Chrome团队修复此问题前,开发者可以采取以下临时措施:
- 避免使用responseType="stream",改用传统响应类型
- 降级使用Chrome 125或更早版本
- 使用Tampermonkey稳定版而非beta版
需要注意的是,不使用流式响应虽然可以避免崩溃,但会牺牲数据传输效率,因为必须等待完整响应而非实时处理数据块。
问题根源与修复
经过与Chrome团队的协作,已确认这是Chrome 126版本引入的回归问题(regression)。Chrome团队已接受问题报告并承诺修复。开发者可以关注Chrome后续版本的更新日志,确认问题是否已被解决。
最佳实践建议
对于Tampermonkey脚本开发者,在处理流式数据时建议:
- 增加浏览器版本检测逻辑
- 为关键功能提供降级方案
- 考虑使用Fetch API替代XHR,可能具有更好的兼容性
- 在数据处理前增加类型检查和错误处理
这个问题再次提醒我们,在浏览器扩展开发中,特别是涉及底层API调用时,需要充分考虑不同浏览器版本的兼容性差异。
PaddleOCR-VL
PaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00- DDeepSeek-V3.2-ExpDeepSeek-V3.2-Exp是DeepSeek推出的实验性模型,基于V3.1-Terminus架构,创新引入DeepSeek Sparse Attention稀疏注意力机制,在保持模型输出质量的同时,大幅提升长文本场景下的训练与推理效率。该模型在MMLU-Pro、GPQA-Diamond等多领域公开基准测试中表现与V3.1-Terminus相当,支持HuggingFace、SGLang、vLLM等多种本地运行方式,开源内核设计便于研究,采用MIT许可证。【此简介由AI生成】Python00
openPangu-Ultra-MoE-718B-V1.1
昇腾原生的开源盘古 Ultra-MoE-718B-V1.1 语言模型Python00ops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。C++0135AI内容魔方
AI内容专区,汇集全球AI开源项目,集结模块、可组合的内容,致力于分享、交流。03Spark-Chemistry-X1-13B
科大讯飞星火化学-X1-13B (iFLYTEK Spark Chemistry-X1-13B) 是一款专为化学领域优化的大语言模型。它由星火-X1 (Spark-X1) 基础模型微调而来,在化学知识问答、分子性质预测、化学名称转换和科学推理方面展现出强大的能力,同时保持了强大的通用语言理解与生成能力。Python00Spark-Scilit-X1-13B
FLYTEK Spark Scilit-X1-13B is based on the latest generation of iFLYTEK Foundation Model, and has been trained on multiple core tasks derived from scientific literature. As a large language model tailored for academic research scenarios, it has shown excellent performance in Paper Assisted Reading, Academic Translation, English Polishing, and Review Generation, aiming to provide efficient and accurate intelligent assistance for researchers, faculty members, and students.Python00GOT-OCR-2.0-hf
阶跃星辰StepFun推出的GOT-OCR-2.0-hf是一款强大的多语言OCR开源模型,支持从普通文档到复杂场景的文字识别。它能精准处理表格、图表、数学公式、几何图形甚至乐谱等特殊内容,输出结果可通过第三方工具渲染成多种格式。模型支持1024×1024高分辨率输入,具备多页批量处理、动态分块识别和交互式区域选择等创新功能,用户可通过坐标或颜色指定识别区域。基于Apache 2.0协议开源,提供Hugging Face演示和完整代码,适用于学术研究到工业应用的广泛场景,为OCR领域带来突破性解决方案。00- HHowToCook程序员在家做饭方法指南。Programmer's guide about how to cook at home (Chinese only).Dockerfile011
- PpathwayPathway is an open framework for high-throughput and low-latency real-time data processing.Python00
最新内容推荐
项目优选









