我想要一个移动页面来扫描二维码并显示其内容。 这是页面: https://ndvibes.com/demo/TicketSystem/check (索引.html)
很奇怪,它可以在 Firefox (Linux) 上运行,但不能在 Safari (iOS 11.4/iPhone 6) 上运行。
我认为我使用的库不支持 Safari,或者 Safari 受到限制 出于安全原因,但是 demo library的在 iPhone 上运行得很好!
所以Safari似乎是支持的,而且它并没有阻止它,因为它在演示中工作......
我不知道如何解决这个问题。 Safari 会请求访问相机的权限,获得许可后,它只是不显示相机内容。 我还检查了 Safari 的设置,但没有看到任何可能阻止网络摄像头视频显示的禁用内容。
编辑:这段代码似乎在Android上也不起作用,很奇怪,演示在桌面和移动设备上都可以运行,而我自己的代码在桌面上可以运行,但不起作用在移动设备上...
最佳答案
要在 Apple 设备上使用,您必须确保:
1-您必须使用 https,因为 http 协议(protocol)不起作用。
2-您必须使用 Safari,因为在 Apple 中,其他浏览器没有权限或无法访问某些 javascript 内容。
3- 必须使用某个版本,以便您可以使用两个摄像头。
问题:我以为我使用的库不支持 Safari,或者 Safari 出于安全原因对其进行了限制,但该库的演示在 iPhone 上运行得很好!
原因:我已经完成了 your webcodecamjs.js
并与 demo webcodecamjs.js
进行比较.我发现这些文件存在一些差异。可能是从git获取的lib-code和实际的演示lib-code不同。
解决方案:只需替换 your webcodecamjs.js
与 demo webcodecamjs.js
它应该可以工作。
编辑
注意:您必须通过事件触发器启动相机,因为 Safari 不允许自动播放。
关于javascript - Webcodecamjs-二维码扫描库在 Safari 浏览器中无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51247450/