浏览器地理位置:确定以前的权限

时间:2012-07-08 08:49:28

标签: html5 browser geolocation w3c-geolocation

好的,我有以下代码:

navigator.geolocation.getCurrentPosition (
    function (e) {
        alert('ok');
    }, function (e) {
        alert('denied');
    } 
);

我可以在pageload上调用它,如果权限被拒绝,我将隐藏依赖于geoloc信息的按钮和功能。

但是,当用户选择单击其中一个geoloc按钮时,我不想在页面加载时请求权限,而只是按需要求。

因此,在这种情况下,假设用户到达我的页面,之前已决定拒绝访问地理定位API,是否可以告知该权限先前已被拒绝,以便我可以隐藏按钮而不必等到他们再次点击其中一个按钮?

2 个答案:

答案 0 :(得分:0)

您的意思是拒绝访问其他网站,或之前在您的网站上访问?

如果是前者,为什么假设你受这个决定的约束?也就是说,不要担心它,无论如何都要再问。

如果是后者,您可能应该在您的网站上存储用户会话期间的决定。如果您正在使用服务器会话或使用简单的cookie,则可以在服务器端执行此操作。

答案 1 :(得分:0)

您可以将结果存储在浏览器中,例如使用LocalStorage或Cookie。但是,如果用户第一次拒绝访问并不意味着他下次会这样做。但是如果你隐藏或禁用按钮,即使他想要也不能使用这些功能。现在,如果他连续10次拒绝,或者某种数字,那就更有意义了。

相关问题