即使在用户拒绝位置共享之后,我也想显示用于位置共享的本机浏览器弹出窗口。
考虑场景,
用户单击位置共享按钮,将显示本机浏览器弹出窗口。他可以分享位置信息,位置按钮变为绿色。
如果用户拒绝共享位置,则位置按钮应为灰色。并单击该按钮应显示本机浏览器弹出窗口...
使用下面的代码,如果我从developertools-> application-> clear站点数据中清除了站点数据,则能够再次显示本机弹出浏览器。
是否可以显示带有清除站点数据的本机浏览器弹出窗口?
下面是代码
class Location extends react.purecomponent {
state = {
active: false,
};
componentDidMount() {
if (navigator.geolocation) {
navigator.permissions.query({name:
'geolocation'}).then((result) =>
{
if (result.state === 'granted') {
this.setState({active: true});
} else if (result.state === 'denied') {
this.setState({active: false});
}
});
}
}
handle_location_btn_click = () => {
if (navigator.geolocation) {
navigator.permissions.query({name:'geolocation'})
.then((result) => {
if (result.state === 'granted') {
this.setState({active: true});
} else if (result.state === 'prompt') {
navigator.geolocation
.getCurrentPosition(this.use_position, null);
} else if (result.state === 'denied') {
this.setState({location_active: false});
}
});
} else {
console.log("geolocation unavailable");
}
};
render = () => {
return (
<button type="button" className={this.active ? ' active':
'')}
onClick={this.handle_location_btn_click}>
</button>
);
};
}
有人可以帮我吗。谢谢
答案 0 :(得分:0)
否,一旦用户对特定域中的某个位置说不,就不可能