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

根本原因:

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

相关推荐
岭子笑笑5 分钟前
vant 4 之loading组件源码阅读
前端
hxmmm9 分钟前
自定义封装 vue多页项目新增项目脚手架
前端·javascript·node.js
ETA89 分钟前
JS执行机制揭秘:你以为的“顺序执行”,其实是V8引擎在背后搞事情!
前端·javascript
鹏北海-RemHusband10 分钟前
微前端实现方式:HTML Entry 与 JS Entry 的区别
前端·javascript·html
行走的陀螺仪33 分钟前
JavaScript 装饰器完全指南(原理/分类/场景/实战/兼容)
开发语言·javascript·ecmascript·装饰器
瘦的可以下饭了36 分钟前
3 链表 二叉树
前端·javascript
我那工具都齐_明早我过来上班41 分钟前
WebODM生成3DTiles模型在Cesium地图上会垂直显示问题解决(y-up-to-z-up)
前端·gis
粉末的沉淀1 小时前
jeecgboot:electron桌面应用打包
前端·javascript·electron
1024肥宅1 小时前
浏览器相关 API:DOM 操作全解析
前端·浏览器·dom