angular:html2canvas报错提示Unable to find iframe window

问题:

如题

出现时机:

只在 ctrl+r 页面初始化和首次进入目标界面会报错,如果是延时触发,则不会报错

定位:

查看源码,在chrome进行源码修改后打印,定位到报错代码段

TypeScript 复制代码
    const documentCloner = new DocumentCloner(context, element, cloneOptions);
    const clonedElement = documentCloner.clonedReferenceElement;
    if (!clonedElement) {
        return Promise.reject(`Unable to find element in cloned iframe`);
    }
TypeScript 复制代码
if (this.referenceElement === node && isHTMLElementNode(clone)) {
  this.clonedReferenceElement = clone;
}

打印clone,发现直到ion-route-outlet层,后面的节点没有再遍历了,因此出现报错。而界面如果加载完再调用,则无报错。

根本原因:

暂时没有继续深究,感兴趣的可以继续打印查看。

相关推荐
山楂树の11 小时前
图像标注大坑:img图片 + Canvas 叠加标注,同步放大后标注位置偏移、对不齐?详解修复方案及亚像素处理原理
前端·css·学习·canva可画
本山德彪11 小时前
我做了一个拼豆图纸生成器,把照片秒变图纸
前端
DTrader11 小时前
用TS无法实盘量化? - 实盘均线策略
前端·api
进击的夸父11 小时前
vfojs:Vue 超集架构,外壳React灵魂Vue
前端
编程老船长11 小时前
解决不同项目需要不同 Node.js 版本的问题
前端·vue.js
Wect11 小时前
LeetCode 5. 最长回文子串:DP + 中心扩展
前端·算法·typescript
漫游的渔夫11 小时前
前端开发者做 Agent:别写成一次请求,用 5 步受控循环防止 AI 乱跑
前端·人工智能·typescript
薛定猫AI13 小时前
【深度解析】Gemma Chat 本地 AI 编程 Agent:Electron + MLX + 开源模型的离线 Vibe Coding 实战
javascript·人工智能·electron
kyriewen13 小时前
Webpack vs Vite:一个是“老黄牛”,一个是“猎豹”,你选谁?
前端·webpack·vite
打小就很皮...13 小时前
html2canvas + jsPDF 生成 PDF 的踩坑与解决方案总结
前端·pdf