4月踩坑合集

133 阅读4分钟

1、如何在window.open打开的页面关闭后,刷新父页面

blog.csdn.net/ringlot/art…

2、document.activeElement.blur() 可用于失焦当前focus的元素

DocumentOrShadowRoot.activeElement

同时也可以用于关闭element-ui el-autocomplete 的搜索建议

3、window.parent还是window.top?

遇到几次这种问题,使用postMessage等api的时候,得考虑好到底是想跟谁通讯。

假使你的sdk会创建一个iframe,而iframe只想和sdk通讯的话,用window.parent会好一些

因为你的sdk也可能被加载在一个iframe内,这种情况下使用window.top是无法与sdk所在的环境通讯的。

因为这个原因而遇到过的问题有:

1、无法按预期的与sdk通讯(window.top.postMessage)

2、本来只想修改sdk所在环境的地址,结果把最顶层的地址给修改了。(window.top.location = xxx)

image.png

4、其他团队的api调试,留下结果截图,避免反复发布调试代码

5、mac拖拽会有一个突变,导致浮层元素在释放的时候会有一个跑回原先位置的动画

20240226_161340 -original-square.gif 可以在拖拽开始的时候设置 opacity: 0; 然后在拖拽中的时候设置 opacity: 1;

debug.itxst.com/js/uvm7jmzn

image.png

<el-draggable 
    :list="localCheckedTreeData" 
    chosen-class="knowledge-category-select__chosen"
    ghost-class="knowledge-category-select__ghost"
></el-draggable>

.knowledge-category-select__chosen {
  opacity: 0;
}
.knowledge-category-select__ghost {
  opacity: 1;
}

实现效果

20240426_143752.gif

6、whistle代理

blog.csdn.net/sinat_34937…

注意 这个代理会导致 没开启whistle的时候上不了网

7、cypress

测试的窗口有点小be.visible的断言可能因为元素不再视口内而导致错误 可以考虑下 是不是用exist 还有 click({ force: true }) , 可以用于按钮元素被各种高层级, 错误弹框等遮挡导致点不到的情况。

image.png

8、watch的时候考虑下是否有默认值,第一次进入时是否会改变,是否需要immediate

image.png

上图这种情况就是

1、接口请求依赖于serviceReportObjName字段值的改变(watch)

2、serviceReportObjName字段有默认值

3、出现第一次进入页面请求没发起的情况

这种情况确实没有必要在created等钩子内再写一遍请求发起的逻辑,只需要给wtach设置immediate 即可

9、火狐浏览器 NS-BINdING-ABORT

image.png

这个是页面跳转导致请求被中断的问题 火狐浏览器使用 a 标签 而没有指定新页签打开的时候 会因为页面重载而导致后续请求被中断 (谷歌浏览器没这个问题)

image.png

image.png

image.png

ps:a标签下载有个dowload 属性可以使用 www.w3school.com.cn/tags/att_a_…

10、桌面通知延迟

一直有反馈桌面通知有延迟的情况,但一直没能复现。

线索: 日志会出现 相同时间内 相同会话id出现多次的情况

image.png

推断: 用户打开了多个页签可能是某个浏览器页签接收了事件,但走不弹出消息通知的逻辑。然后一个页签先触发事件完成后,其他页签就不作为新消息推送事件了,导致会走弹出桌面消息通知逻辑的页签就不弹出了。

实验复现::开启多个页签

image.png

发现桌面通知确实不弹出,企信页签越多越不容易弹出

通知相关团队排查问题,得到结论:

image.png

11、模块初始化与销毁问题

image.png

image.png

image.png

12、charles调试

手机抓包

常用基础功能使用方法——修改请求头

13、谷歌邮箱内容被折叠问题

客户反馈我们通过gmail发出的邮件被折叠了

image.png

这个其实用看一眼秒杀法就大概可以知道,是gmail不管三七二十一把富文本内容给截断了。

但客户不接受这个答复。。。因为他们经常用gmail,且扬言是没遇到这个问题的,于是上网搜了一下gmail内容被折叠的问题。

发现相关内容很少,仅有的一篇文档提到是文件内容的问题,邮件内容大于102kb就会被折叠。

smartpushteam.zendesk.com/hc/zh-cn/ar…

于是自己测试了一下,发一封很多图片的邮件,发现没有被折叠!而且客户下载下来查看邮件大小是超过102kb的,很烦。

考虑到gmail多数是海外用户在用,于是尝试使用英文来搜索

image.png

出来比较多内容了,其中一篇是这样说的

tribulant.com/blog/email-…

image.png

是的 图片内容不参与计算,很坑爹(摊手)

至于为什么客户很少遇到,而我们的邮件出现了,且看起来内容不多。

于是又发一封内容特别多的邮件,发现就复现这个情况了

tribulant.com/blog/email-…

则是因为这里的内容不算图片,但却计算样式内容的,而我们的模板为了各种狂拽酷炫吊炸天的需求,附带的样式内容非常之多。

这就导致虽然看上去内容不多,但还是被折叠的情况出现了。

ps:其实这个在问ai的时候,也给出了102kb限制的回复,但跟第一篇文章一样,没有提到图片不加入计算的情况。有着上一封测试邮件(图片特别多的那封)的情况下,在加上现在ai的征信还是比较差,客户估计也还是不信服。