Data URI link <a href="data: не работает в Microsoft Edge
Этот простой код отлично работает везде, кроме Microsoft Edge:
<a href="data:text/plain;charset=utf-8,Test">link</a>
[JSFiddle]
В Microsoft Edge я получаю сообщение "Это странно... Microsoft не может найти эту страницу":
![enter image description here]()
Примеры из документации Mozilla также не работают с тем же результатом.
Здесь вывод из консоли Edge:
![]()
Эта ошибка возникает при открытии нового пограничного окна, на новых вкладках он вводит data:text/plain;charset=utf-8,Test
в качестве поискового запроса в поисковую систему по умолчанию.
Похоже, что Microsoft Edge не имеет определения для data:
Кто-нибудь знает об этом решении?
Обновление:, к сожалению, кажется, что нет возможности использовать URI данных в ссылках в IE/Edge. Я создал связанный вопрос об обнаружении поддержки URI данных в ссылках: Обнаружение URI данных в поддержке ссылок с помощью Modernizr
Ответы
Ответ 1
Ни IE, ни Microsoft Edge не поддерживают переход к URI данных. MSDN утверждает, что это из соображений безопасности.
Единственное решение - связать, используя поддерживаемую схему, такую как file://или http://, для некоторого ресурса, содержащего контент.
Интересно, что более старые версии IE (я говорю старше 6) поддерживали предшественник URI данных в схеме about: URI, хотя поддерживался только HTML. Эти URI больше не работают сегодня и просто перенаправляются на "Навигация отменено" (ранее "Действие отменено" ).
Ответ 2
Так как IE и Edge поддерживают теги <img>
с URI данных в качестве источника, вы можете перетаскивать ссылку на изображение с помощью javascript для записи в документ:
<a href="javascript:document.write('<img src=data:image/png;base64,iVBORw0KGgoAA
AANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD///+l2Z/dAAAAM0l
EQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/A6
P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC />')">link</a>