.click() отказывает в доступе в IE11
При попытке вызвать .click()
из anchor
тег к auto click
URL Код работает нормально во всех браузерах, кроме Internet Explorer
v11.
Любая помощь будет оценена.
var strContent = "a,b,c\n1,2,3\n";
var HTML_APS = strContent;
var data = new Blob([HTML_APS]);
var temp_link = document.createElement('a');
temp_link.href = URL.createObjectURL(data);
temp_link.download = "report_html.htm";
temp_link.type = "text/html";
temp_link.style = "display:none";
document.body.appendChild(temp_link);
if (confirm("Press a button!") == true) {
temp_link.click();
temp_link.remove();
}
вот скрипка
3 ответа
Решение
Для IE вы можете использовать navigator.msSaveOrOpenBlob
так, кросс-браузер, код будет
var strContent = "a,b,c\n1,2,3\n";
var HTML_APS = strContent;
var data = new Blob([HTML_APS]);
if (confirm("Press a button!") == true) {
if (navigator.msSaveOrOpenBlob) {
navigator.msSaveOrOpenBlob(data, "report_html.htm");
} else {
var temp_link = document.createElement('a');
temp_link.href = URL.createObjectURL(data);
temp_link.download = "report_html.htm";
temp_link.type = "text/html";
document.body.appendChild(temp_link);
temp_link.click();
temp_link.remove();
}
}
Согласно такому ответу, атрибут "загрузка" не был реализован в Internet Explorer.
Атрибут загрузки не реализован в Internet Explorer.
Для Internet Explorer вы можете использовать команду "Сохранить как".
Когда используется атрибут загрузки привязки, это означает, что браузер должен загружать ресурс, на который указывает привязка, а не переходить к нему.
Он не поддерживает IE11. Для справки нажмите здесь