那些年,那些让人掉发的bug。
font-weight数值设置字体加粗无法生效
原因:这是因为你指定的字体在用户的系统不存在,所以导致无法加粗。
解决:不用数值设置可以生效,或者使用引入Google字体库 。
自动部署服务前端资源404
原因: 部分应用实例未成功更新,导致了负载均衡路由到了未更新的应用实例,出现404。
解决: 临时解决-强制更新service。
权限中间件下发的token无法通过后台鉴权接口
原因:
1. 权限中间件 => 生成token(未经过Encode) => 后台系统通过权限 => 下发到前端。
2. 前端带上token => 被Encode => 权限中间件 => token(被Encode) => 后台系统拒绝 => 前端显示未登录。
解决: 生成token时不带奇奇怪怪的字符。
Golang的ioutil.ReadAll函数导致后续无法读取请求的body
原因:函数会消费掉stream。
解决:ioutil.NopCloser函数重新赋值。
Refused to set unsafe header "Cookie"
原因: 同事尝试在ajax请求中手动设置cookie,前端并不允许这样做。Stack Overflow
解决: 移除相关代码,前端请求会自动附带相关cookie。
MySQ Index column size too large. The maximum column size is 767 bytes
原因:5.6的默认设置和5.7的默认配置不一致。
解决:更改5.6的默认配置或者直接升级5.7,建议是用新版的MySQL。
PWA页面偶尔无法加载图片资源
原因:某些历史图片资源是http链接,pwa无法加载
解决:链接资源使用正则替换掉所有传入协议。
url.replace(/^http(s?):\/\//i, "//");
SSR渲染 用户信息错误的被渲染
原因: 带有token的渲染请求被缓存,导致用户信息被共享。
解决:如果页面带有token,不进行数据缓存。
Rancher 部署k8s服务无法暴露到公网
原因:k8s默认服务的端口范围是30000-32767。
解决:修改暴露端口到合适的范围。
微信安卓浏览器video标签层级问题
原因:兼容问题,微信浏览器内核经过魔改。
解决:添加x5指定标签。微信x5浏览器指南
React父组件列表数据更新传入子组件不生效
原因:子组件没有触发更新。
解决:给子组件一个不固定的key。
安卓WebView里的H5页面cookie问题
原因:多次跳转,如果安卓没有特别处理,会丢失cookie。(顺带还有无法清除cookie....,单页面reload会有问题)
解决:尽量不多次跳转,不使用cookie作为接口凭证。或者寻求客户端解决方案。
WebView里的Nextjs H5页面禁止缩放失败
原因:meta viewport标签被默认覆盖了。
解决:在_app.tsx覆盖回去。
判断是否是App的WebView失败。
原因:检测方法使用window.NativeInterface 和iOS的 webkit.messagehandler 和某些社交软件重名了导致判断失败。
解决:检测WebView是否有指定的方法。
WebView自动带上cookie请求接口失败
原因:WebView可能存在多个重名token,前端请求自动带上了最为匹配的token,导致最后请求接口凭证不正确。
解决:客户端清空WebView的token,然后设置客户端Token。(安卓的清空token方法可能不大靠谱....)