ユーザーが過去に私のリクエストをブロックしたことがある場合、ユーザーにJavaScriptでジオロケーションを要求する方法を教えてください。 ( navigator.geolocation.getCurrentPosition
を使用)。
たとえば、私のWebアプリには位置情報サービスが必要ですが、ユーザーが誤って「ブロック」をクリックしたり、気が変わったりします。もう一度プロンプトを表示するにはどうすればよいですか?
@ matthew-shweryで言及されているように、権限を変更することはできません。
最善の方法は、権限を確認し、権限が拒否されたことをユーザーに通知することです
navigator.permissions.query({
name: 'geolocation'
}).then(function(result) {
if (result.state == 'granted') {
report(result.state);
geoBtn.style.display = 'none';
} else if (result.state == 'Prompt') {
report(result.state);
geoBtn.style.display = 'none';
navigator.geolocation.getCurrentPosition(revealPosition, positionDenied, geoSettings);
} else if (result.state == 'denied') {
report(result.state);
geoBtn.style.display = 'inline';
}
result.onchange = function() {
report(result.state);
}
});
できません。
ロケーション許可を拒否すると、サイトがブラックリストに追加されるため、ユーザーはブラウザー設定を手動で管理する必要があります。
Chromeユーザーが位置情報の権限を管理するための手順: https://support.google.com/chrome/answer/142065?hl=ja