Как определить, поддерживает ли браузер загрузку ссылки, указывающей на данные: схема URI
У меня есть тег привязки, который указывает на закодированное изображение и включает атрибут загрузки. Цель состоит в том, чтобы позволить пользователю загружать данные URI (изображение) на диск, просто нажав на ссылку.
<a download="foo" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGElEQVQYlWNkYGD4z0AEYCJG0ahC6ikEAKYXAROlAhdFAAAAAElFTkSuQmCC">
Download image
</a>
Здесь происходит две вещи, которые мне нужно проверить для поддержки браузера:
- Независимо от того, поддерживает ли браузер
download
атрибут - Независимо от того, поддерживает ли браузер
href=data:
То, как я проверяю поддержку download
атрибут является:
document.createElement('a').download === undefined;
Однако я не знаю, как определить, поддерживает ли браузер загрузку, если / когда href указывает на URL, который использует схему data: URI.
Я знаю, что MS Edge не поддерживает приведенный выше пример кода ( здесь)), поэтому я уверен, что есть и другие современные браузеры, которые его не поддерживают. - И я не хочу проверять тип браузера (например, если navigator.userAgent
содержит "Край").