我正在创建此登录页面,该登录页面应该由强制门户触发。
在我的登录页面上,有一个按钮来触发打开<video>
元素,然后该元素用于扫描二维码。
默认情况下,访问网络摄像头或设备的摄像头时,浏览器将首先请求用户许可。因此,基本上一切正常,并且都可以在浏览器上进行。
将其放置为由强制门户触发的登录页面时,出现了一些不一致之处。 在我的同事拥有的大多数android手机上,默认情况下,他们只是拒绝该许可。 在某些android设备上,会显示要求许可的弹出消息,并且该消息会像浏览器版本一样按预期工作。 在IOS设备上,弹出窗口仅被阻止(未拒绝,但被忽略) 我知道它在IOS上被忽略了,因为错误消息甚至都没有显示出来,好像俘虏门户没有对弹出窗口进行任何操作。
我已经阅读了数个关于强制门户的论坛,所有这些使我相信,强制门户本质上只是内置浏览器的简化版本,根本无法运行window.alert()
和{ {1}}还是保留cookie的能力。
我的“研究”还使我相信,强制门户网站具有操作系统特有的不同行为集,而不是该操作系统本身安装的浏览器。
1 blog我今天读过,特别是评论部分,提到从IOS 11.2开始,强制门户应该已经能够运行window.confirm()
和window.alert()
。但是,经过测试,情况并非如此。
所以我的问题是,是否仍然可以通过允许用户决定是允许还是拒绝摄像机访问来解决此限制?
我的“研究”表明,不可能以编程方式重定向强制门户以在浏览器上打开,并且只有少数手机具有“在浏览器中打开”选项附带的强制门户。
有人知道如何拦截正在运行的权限弹出窗口,并将其显示为普通的html元素,然后以编程方式传递回用户响应吗?
提前谢谢! :)