1. Для разрешения единоразового доступа к сайту в браузере вам необходимо изменить настройки куки. В большинстве браузеров, таких как Google Chrome, Mozilla Firefox и Safari, вы можете разрешить сайту использовать куки только в течение текущей сессии. Например, в Google Chrome это можно сделать, открыв меню "Настройки", затем "Конфиденциальность и безопасность" и выставив галочку напротив "Очищать куки и другие данные сайтов после закрытия браузера". Таким образом, данные будут храниться только до закрытия браузера и сайту придется запрашивать доступ снова при каждом новом визите.
2. Чтобы настроить запрос разрешения геолокации в Safari так, чтобы он запоминал данные пользователя, вам нужно использовать Web Storage API, такой как localStorage или sessionStorage. При запросе разрешения на использование геолокации, вы можете сохранить данные пользователя в localStorage и проверять их при каждом обновлении страницы. Например, можно использовать следующий код:
```javascript
if (localStorage.getItem('geolocationPermission') !== 'granted') {
navigator.geolocation.getCurrentPosition(function(position) {
localStorage.setItem('geolocationPermission', 'granted');
// Далее ваш код, который использует геолокацию
}, function(error) {
localStorage.setItem('geolocationPermission', 'denied');
console.error('Ошибка получения геолокации:', error);
});
}
```
Этот код проверяет, есть ли у пользователя разрешение на использование геолокации в localStorage. Если его нет, он запрашивает геолокацию и сохраняет разрешение в localStorage. При каждом обновлении страницы код проверяет, было ли уже дано разрешение, и при необходимости запрашивает его снова.
Таким образом, вы можете настроить запрос разрешения геолокации в Safari так, чтобы он запоминал данные пользователя и больше не запрашивал их каждый раз при обновлении страницы.