【问题标题】:Getting camera and geolocation permission ahead of time提前获得相机和地理位置许可
【发布时间】:2015-10-17 01:10:33
【问题描述】:

我正在构建一个使用设备的摄像头和位置服务的网络应用。浏览器(我现在坚持使用 Chrome)在使用该服务的页面上请求用户允许这样做。

我希望界面能够在工作流程的早期阶段请求许可,以便在使用应用程序期间不会出现弹出对话框。我知道他们会在第一次访问页面后消失,但我也想在第一次避免它。

Javascript 几乎是我知道如何使用的唯一工具,而且我知道每个页面都有一个单独的 Javascript 执行上下文,所以我无法在一个页面上获取对对象的引用并将它们交给另一个页面。

那么 有没有可行的方法?也许我需要学习一些其他技术?

【问题讨论】:

    标签: javascript html permissions camera geolocation


    【解决方案1】:

    如果您需要在浏览器中执行此操作,那么我建议您在进入实际应用页面之前创建一种初始化页面。

    在 ini 页面中,您可以调用所有权限并下载+缓存所有需要的应用程序脚本,还可以验证哪些权限被接受和不被接受。有点像在使用 GMail 时,您先浏览他们的 ini 页面,然后再访问实际的 GMail ui。

    一旦 ini 页面完全加载,只需重定向到实际应用即可。


    如果您想在浏览器之外执行此操作并仍然使用相同的网络技术,请查看ElectronNW.js

    上述两种工具都可以让您使用网络技术构建跨平台桌面应用程序。可以在没有用户许可的情况下完成诸如要求 camerageolocation 之类的事情(我记得。不确定)

    【讨论】:

    • 谢谢,但问题不是让我的代码记住权限,而是让浏览器记住逐页的权限。浏览器独立处理每个页面,所以我需要一个解决方法。如果我能获得对用户媒体对象的引用并将其传递出去,那就太好了,这似乎是可能的,但我不知道该怎么做。
    • 您可以用覆盖物覆盖页面并执行您的权限。在那个覆盖层之上。一旦一切都设置好了,只需删除覆盖。它仍然有 ini 页面的东西,但在同一页面上。
    • 这是个好主意,只是我需要在获取权限和使用权限之间加载其他页面。不过,那个覆盖确实给了我一个想法。也许我可以在主页上进行权限和使用,并将其他页面加载到叠加层。我想知道叠加层是否可以这样工作...
    猜你喜欢
    • 1970-01-01
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-12
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多