最新的WebKit破坏了授权过程并冻结了JavaScript的主线程?

时间:2018-09-24 20:24:34

标签: javascript webkit

我的登录表单非常简单,带有“用户名” /“通过”输入字段和“登录”按钮。当用户单击“登录”时,我将fetch()请求发送到后端。好吧,如果用户名或密码输入不正确,后端就会以状态代码401响应客户端。

从字面上看,今天我发现所有基于WebKit的浏览器的最新版本(至少在MacOS下)通过接收状态401将显示带有两个输入(登录/通过)和两个按钮(取消/好)。受影响的是Google Chrome,Opera和Safari。 (Mozilla Firefox和MS Edge可以!)

最“有趣”的事情是Google Chrome 69还会冻结JavaScript的主线程,直到按下上述系统弹出窗口中的按钮之一。 (顺便说一句,Chrome 66并没有做到这一点)

目前,我仅找到一种解决方法:将后端的所有401状态更改为非标准内容,例如471 ...

所以我实际上一次有两个问题:

1)如果有人知道所描述问题的更好解决方案,将不胜感激,并在此先感谢

2)了解WebKit开发人员这样做的原因和意义将非常有趣

0 个答案:

没有答案