资讯专栏INFORMATION COLUMN

Windows 10 周年更新后的 Edge 14 的 HierarchyRequestError

Baoyuan / 2611人阅读

摘要:在升级到周年更新后,使用系统自带的浏览器浏览部分网站出现这种报错在网络上搜索会找到同样的案例,大致都指向使用时报错,因此初步判定此报错是和节点操作相关。经过一番排查,发现问题是出在上。

在升级到 Windows 10 周年更新后,使用系统自带的 Edge 浏览器浏览部分网站出现这种报错:

在网络上搜索 HierarchyRequestError 会找到同样的案例,大致都指向使用 appendChild 时报错,因此初步判定此报错是和节点操作相关。

翻看网络上的案例,发现大多是 appendChild 使用方法错误,而 Edge 的这个报错却是相同的代码在其他浏览器和之前版本的 Edge 下都没有出现的问题,所以应该不会是粗心造成的低级错误,可能是浏览器本身的问题。

但毕竟要解决不是。

既然看到 Avalon 1.5.5 报错,那么根据浏览器报错阅读源码,发现错误是出现在 ms-repeat 指令中:

while (elem.firstChild) {
    binding.template.appendChild(elem.firstChild)  // 这里报错
}

那么推断,这里的操作被最新的 Edge 认为是“将不合适的节点 append 到了另一个不合适的节点中”。

经过一番排查,发现问题是出在 avalonFragment 上。Avalon 中的所有 fragment 都是通过 avalonFragment.cloneNode(false) 创建的,那么把这些 fragment 都改为由 document.createDocumentFragment() 创建,错误果然消失。

那么做一个精简的报错案例:


所以解决方法也很简单,暂时不要使用 cloneNode 的方式创建 Fragment 然后又将其 append 到另一个 clone 出来的 Fragment 中,用 document.createDocumentFragment() 代替

有意思的是,如果是 cloneNode 一个 element 比如 div 则不会报错,因此很可能是 Edge 14 自己的 Bug。

皆大欢喜。_(:3」∠)_

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/90874.html

相关文章

  • Linux 30周年:Linux 5.14闪亮登场!添加新硬件和秘密内存区域支持

    摘要:或许,最重要的是和内核调度,两者都是进行清理工作,以缓解英特尔的和漏洞。说到英特尔,增加了对的平台的更多支持,该平台可根据需要优先处理工作负载。另外,还将增加戴尔硬件隐私支持。linux之父Linus Torvald:庆祝完Linux 30 岁了吧,一起来看新的 Linux 5.14。linux5.14晋升为稳定版,在精彩的2021年秋季linux发行版大量出现之前提供最新的功能、硬件支持和...

    NicolasHe 评论0 收藏0
  • GreenCloudVPS八周年促销,VPS年付五折起,10G口大盘鸡年付$30起

    摘要:七折优惠码,在所有年度两年和三年付款中重复使用可享受的折扣。注意优惠码有效期为年月日至月日。促销方案特价特征新加坡位置英国考文垂,核英特尔处理器,硬盘,带宽个。 日前GreencloudVPS(绿云)推出了8周年闪购活动,美国/欧盟KVM VPS的每年、两年和三年的计费周期可获得 50% 折扣,部分可重复享受 40% 的折扣,另外Windows VPS年付、两年和三年付款中重复使用可享...

    paraller 评论0 收藏0
  • Linux 30周年:Linux 5.14閃亮登場!添加新硬件和秘密內存區域支持

    摘要:超多功能增加不再支持添加到的新功能還真不少包括使用的秘密內存區域支持核心調度支持圍繞的持續啟用和圖形支持筆記本電腦支持支持。說到英特爾,增加了對的平台的更多支持,該平台可根據需要優先處理工作負載。另外,還將增加戴爾硬件隱私支持。Linux 之父Linus Torvald:慶祝完Linux 30 歲了吧,一起來看新的 Linux 5.14。 沒錯,8月30日,Torvald宣布推出 Li...

    draveness 评论0 收藏0
  • greencloudvps(绿云) – 8周年促销,欧美VPS循环5折优惠,亚太

    摘要:,开启周年优惠活动,去年貌似是折的优惠,今年看来是等不到了。折循环优惠码越南中国香港日本新加坡新加坡大硬盘存储折优惠由配备双处理器和超快端口的提供支持折优惠码内存流量带宽价格购买核不限月链接核不限月链接核不限月链接核不限月链接greencloudVPS,开启8周年优惠活动,去年貌似是3折的优惠,今年看来是等不到了。新用户注册和购买记得不要开戴莉,否则会触发欺诈!具体的优惠如下: 1)欧...

    jone5679 评论0 收藏0

发表评论

0条评论

Baoyuan

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<