我希望移动页面可以扫描QR码并显示其内容。 这是页面: https://ndvibes.com/demo/TicketSystem/check(index.html)
很奇怪,它可以在Firefox(Linux)上运行,但不能在Safari(iOS 11.4 / iPhone 6)上运行。
我认为我使用的库不支持Safari,或者Safari受限制 出于安全原因,但是demo中的library在iPhone上可以正常使用!
所以它似乎支持Safari,并且它没有被阻止,因为它可以在演示中使用...
我不知道如何解决此问题。 Safari会请求访问相机的权限,授予权限时,它只是不显示相机的内容。 我还检查了Safari的设置,但没有看到任何禁用的内容可能会阻止显示网络摄像头视频。
编辑:该代码似乎也无法在Android上运行,这很奇怪,该演示在台式机和移动设备上均可运行,而我自己的代码在台式机上均可运行,但无法正常运行在手机上...
答案 0 :(得分:1)
要在Apple设备上使用,必须确保:
1-您必须使用https,因为http协议无效。
2-您必须使用Safari,因为在Apple中,其他浏览器没有权限或无法访问某些javascript内容。
3-必须使用某些版本,才能同时使用两个摄像机。
问题::我以为我使用的库不支持Safari,或者出于安全原因,Safari对其进行了限制,但是该库的演示在iPhone上正常运行!
原因:我经历过your webcodecamjs.js
并与demo webcodecamjs.js
进行了比较。我发现这些文件中存在一些差异。可能是从git提取的lib代码和实际的演示库代码不同。
解决方案:只需将your webcodecamjs.js
替换为demo webcodecamjs.js
,它应该可以工作。
编辑
注意:由于Safari不允许自动播放,因此必须通过事件触发来启动摄像机。