google-chrome - 为什么 instagram 不时在浏览器上抛出“Expected Dict got Mapping”错误?
问题描述
pyre-fixme[6]:
Dict[str, Any]
需要第二个参数,但得到了 #Mapping[str, Any]
。
解决方案
这意味着 Instagram 员工中的某个人搞砸了。因为这个消息不应该在生产中显示。绝不。程序员使用静态代码分析在源代码实际发生之前检查潜在错误。由于一些奇怪的原因,该分析工具的输出被附加到 HTML 页面:
<meta property="al:android:url" content="https://www.instagram.com/_u/.../" />
# pyre-fixme[6]: Expected `Dict[str, Any]` for 2nd param but got
# `Mapping[str, Any]`.
<link rel="canonical" href="https://www.instagram.com/.../" />
如您所见,它在<meta>
和<link>
标签之间输出,并且没有包裹在任何标签中,因此浏览器将其视为文本节点。这就是为什么它在开始加载时显示在页面上的原因。
但是由于它位于<head>
标签中,一旦页面被加载,浏览器就会隐藏<head>
内容,因为它只应该显示<body>
内容。
我认为这就是自动化测试无法捕获该错误的原因,因为它不会影响最终的视觉布局。
但简单的 HTML 验证器可以轻松捕获该错误。无论如何,Instagram 的某个人绝对应该修复它。
有趣的事实:谷歌已经在 2,100,000 个 Instagram 页面上索引了这个错误。尝试谷歌搜索site:instagram.com "pyre-fixme"
推荐阅读
- ffmpeg - FFMpeg 命令输出显示“绿色像素化”视频
- python - 使用 GEKKO 的 ODE 系统中的参数估计
- swift - 在应该将音频从输入设备传递到输出设备的这个 Swift 代码中,0 的对象 id 来自哪里?查看错误信息
- dart - posix setgid() 无法降低权限
- mapbox - Mapbox GL-JS:如何更新标记位置?
- discord.py - 使用提及作为命令的输入
- javascript - 如何在javascript中调整chrome扩展窗口的大小?
- python - 在python中使用height、left、top、width来格式化excel表格
- python - 从不同的文件调用动态函数 - Python
- python - Python函数通过仅交换相同的索引来返回列表列表