理解为什么在 /etc/hosts 中映射的 dev.local(HTTP)上剪贴板 API 失败,而在 localhost 上成功

理解为什么在 /etc/hosts 中映射的 dev.local(HTTP)上剪贴板 API 失败,而在 localhost 上成功

💡 原文英文,约300词,阅读约需2分钟。
📝

内容提要

在开发本地网页应用时,使用自定义域名(如dev.local)可能导致Chrome浏览器无法使用剪贴板API,因为该域名通过HTTP提供服务,不被视为安全来源。解决方案是为dev.local配置HTTPS证书,或继续使用localhost以确保API正常工作。

🎯

关键要点

  • 在本地开发网页应用时,使用自定义域名(如dev.local)可能导致Chrome浏览器无法使用剪贴板API。
  • Chrome阻止剪贴板API访问是因为页面通过不安全的来源(HTTP)提供服务。
  • 现代浏览器对强大API(如剪贴板API)施加严格的安全要求,只有在HTTPS或localhost上才能使用。
  • localhost被浏览器视为安全来源,即使没有HTTPS,剪贴板API也可以正常使用。
  • dev.local通过/etc/hosts映射为HTTP流量,不被视为安全来源,因此Chrome禁用剪贴板API。
  • 解决方案是为dev.local配置HTTPS证书,或继续使用localhost以确保API正常工作。
➡️

继续阅读