huiyan-fe/BMapGLLib

BMapGL 的 JSAPI 中包含的 HTMLElement#contains 方法实现方式有误

Opened this issue · 0 comments

抱歉,这个问题本来应该报告给百度地图,但是我怀疑百度的工单客服可能是个机器人,不得已发到了这里,希望可以帮忙反馈一下

描述

由于百度地图 JSAPI 中错误的实现并覆盖了原生浏览器的 HTMLElement#contains 方法,导致其他库中使用该方法并传入值为null 的参数时报错

4286ad952650d3bf5b5f9abc1264768d5ff81646967297

复现步骤

  1. 使用 「Chrome」 打开百度地图 https://map.baidu.com/
  2. 按(F12)打开「开发者工具」
  3. 选择「开发者工具」中的 「Console」(控制台)页签
  4. 在控制台中输入 document.querySelector('div').contains(null); 并执行

期望的结果

控制台中应返回结果 false

这是在百度搜索中调用的结果(没有引入百度地图JSAPI)
image

实际结果

控制台出现错误信息 Uncaught TypeError: Cannot read properties of null (reading 'parentNode')

这是在百度地图中调用的结果(引入了百度地图JSAPI)
image