Chrome + Windows 8.1 上的 Web Share API 是不是损坏?
Posted
技术标签:
【中文标题】Chrome + Windows 8.1 上的 Web Share API 是不是损坏?【英文标题】:Is Web Share API broken on Chrome + Windows 8.1?Chrome + Windows 8.1 上的 Web Share API 是否损坏? 【发布时间】:2021-05-01 05:07:24 【问题描述】:我的代码与网络上的许多示例类似,包括 https://mdn.github.io/dom-examples/web-share/ 的 MDN 代码
btn.addEventListener('click', () =>
navigator.share(shareData)
.then(() =>
console.log('MDN shared successfully');
)
.catch((e) =>
console.error('Error: ' + e);
)
);
问题:
navigator.share
如果共享被拒绝,则返回一个应该失败的承诺。就我而言,它会这样做,但会延迟几秒钟。
我的主要问题是这种延迟:如果我知道共享 API 失败,我可以回退,但在这里我需要等待未知的时间才会出现错误。
模式详情:
错误是“错误:AbortError:共享已取消” 我没有取消任何东西(在错误发生之前我看不到 UI)。也许 Windows 在没有显示任何消息的情况下拒绝了某些事情。 我使用的是 Windows 8.1 Pro,这可能与此有关。 Chrome 90.0.4430.93(和以前的版本 89.0.4389.128)和 Edge(89.0.774.54 官方版本 64 位)也有同样的问题 延迟超过 20 秒(断开互联网访问不会改变)【问题讨论】:
【参考方案1】:我刚刚在 Chrome 和 Edge(稳定版)上的 Windows 10 上尝试了 demo,它确实有效。可能是某个扩展程序干扰了 API?
【讨论】:
对。谢谢,它有帮助:看起来像“Chromium 之外的东西”。但可能不是扩展,因为我刚刚发现 Edge 在我的机器上遇到了同样的问题。我也会编辑我的问题。如果这只是成为“Win 8.1”有点难过,但它是错误的,但是...... 欢迎了解哪些浏览器设置会干扰。我禁用了扩展程序并允许“弹出窗口”,以防万一;没有改善。顺便说一句@DenverCoder9,我试图“投票”你的答案但不能,因为我没有这样做的“声誉”(即使是我自己的问题,叹息......) 在 Windows 8.1 上使用 BrowserStack 和 Edge 90,我确实可以确认您在帖子中描述的行为。那时似乎是Windows问题。 FWIW,我在 Windows 8.1 和 Windows 10 上检查了 Edge 90 的本机系统菜单,在 8.1 上它缺少共享选项。比较 Windows 8.1 和 Windows 10。 你是对的;看起来 Windows 8.1 已经落后了...感谢您的详细调查!以上是关于Chrome + Windows 8.1 上的 Web Share API 是不是损坏?的主要内容,如果未能解决你的问题,请参考以下文章
某些 Windows 8 和 8.1 上的 Unity3d 4.6 UI 图像错误
Windows Phone 8.1 上的 RadioButtons 绑定
Windows 8.1 上的 DirectX 11 缺少 SDK 组件
带有 .resx 资源的 Windows Phone 8.1 上的 MissingManifestResourceException