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层,后面的节点没有再遍历了,因此出现报错。而界面如果加载完再调用,则无报错。

根本原因:

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

相关推荐
xiaokuangren_9 分钟前
前端css颜色
前端·css
Huanzhi_Lin11 分钟前
关于V8/MajorGC/MinorGC——性能优化
javascript·性能优化·ts·js·v8·新生代·老生代
hoiii18734 分钟前
C# 基于 LumiSoft 实现 SIP 客户端方案
前端·c#
anOnion35 分钟前
构建无障碍组件之Meter Pattern
前端·html·交互设计
小码哥_常1 小时前
Spring Boot配置diff:解锁配置管理新姿势
前端
小码哥_常1 小时前
告别onActivityResult!Android数据回传的3大痛点与终极解决方案
前端
hhcccchh1 小时前
1.2 CSS 基础选择器、盒模型、flex 布局、grid 布局
前端·css·css3
专吃海绵宝宝菠萝屋的派大星2 小时前
使用Dify对接自己开发的mcp
java·服务器·前端
爱分享的阿Q2 小时前
Rust加WebAssembly前端性能革命实践指南
前端·rust·wasm
蓝黑20202 小时前
Vue的 value=“1“ 和 :value=“1“ 有什么区别
前端·javascript·vue