Есть ли способ определить, поддерживает ли браузер использование URI данных для гиперссылок, кроме обнюхивания браузера?Как определить, поддерживает ли браузер URI данных для гиперссылок
Вот контекст:
Я создаю ссылку, либо загружает файл CSV из информации, полученной с помощью JavaScript, используя удобный данные URI или, если браузер не поддерживает использование URIs данных для гиперссылок, генерирует таблицу HTML желаемого содержимого.
В настоящее время мой код проверяет наличие свойства window.URL
, которого нет в IE9 и ниже. (Это работает нормально сейчас, потому что пользователи IE мне нужно поддерживать работает в режиме совместимости, который эмулирует IE8.)
if(window.URL){
downloadLink.href = "data:text/csv;charset=utf-8," + encodeURIComponent(data);
downloadLink.setAttribute("download","download.csv");
}else{
downloadLink.href= "#";
downloadLink.innerHTML = "table view";
downloadLink.onclick = function(){
// build and display HTML table
return false;
};
}
Однако, есть некоторые совпадения с более новыми версиями Internet Explorer (10, 11, а также Edge) в том, что они поддерживают объект window.URL, но не позволяют использовать URI для гиперссылок.
Как я могу гарантировать, что ссылка для загрузки CSV никогда не отображается в браузере, который не поддерживает такую привязанность?
См. Http://stackoverflow.com/questions/836777/how-to-detect-browsers-protocol-handlers, http://stackoverflow.com/questions/24779312/simplest-cross-browser-check-if- протокол-обработчик-это зарегистрированный – guest271314