Как открыть ссылки СБП из iframe в Яндекс.Браузере на Android так, чтобы они автоматически перенаправляли на банковское приложение?

Как настроить корректное перенаправление в банковские приложения при использовании элемента iframe на сайте с ссылками типа bank100000000111://qr.nspk.ru/AD10005PA8TLKB3193IQ59KEKDU076DI?type=02&bank=100000000086&sum=200000&cur=RUB&crc=9F31 для всех браузеров, включая Яндекс.Браузер? Пробовал использовать frame-ancestor и X-FRAME-OPTIONS: SAMEORIGIN через nginx, однако безрезультантно. Буду благодарен за любые советы по решению этой проблемы.
  • 16 мая 2024 г. 10:31
Ответы на вопрос 2
Для открытия ссылок СБП из iframe в Яндекс.Браузере на Android так, чтобы они автоматически перенаправляли на банковское приложение, вам может понадобиться использовать JavaScript. 

Вы можете добавить следующий скрипт внутри iframe, который будет проверять, открыт ли сайт в браузере Яндекс и автоматически перенаправлять на приложение банка:

```javascript
if (navigator.userAgent.indexOf("YaBrowser") != -1) {
    window.location = "bank100000000111://qr.nspk.ru/AD10005PA8TLKB3193IQ59KEKDU076DI?type=02&bank=100000000086&sum=200000&cur=RUB&crc=9F31";
}
```

Что касается настройки корректного перенаправления в банковские приложения через iframe, возможно, проблема связана с настройками защиты от Clickjacking. 

Попробуйте добавить следующие заголовки в ваш файл конфигурации Nginx:

```
add_header X-Frame-Options "DENY";
add_header Content-Security-Policy "frame-ancestors 'none'";
```

Эти заголовки помогут предотвратить атаки Clickjacking и должны обеспечить корректное отображение вашего iframe в браузерах, включая Яндекс.Браузер. 

Если это не поможет, рекомендуется обратиться к документации Яндекс.Браузера или к службе поддержки браузера для получения дополнительной информации о настройке корректного перенаправления в вашем конкретном случае.
Здравствуйте! Я из Яндекса. Правильно понимаю, что вам нужно, чтобы при тапе на элемент на сайте открывалось дополнительное меню для выбора банковского приложения?
Похожие вопросы