Сохранение содержимого iFrame в MS Edge

У меня есть некоторый JavaScript, который хорошо работал в Edge версии 20.xx, но после обновления до Edge версии 25.xx он перестал работать. Он должен сохранить содержимое iFrame в файл, который будет содержать простой текст. Возможно, стоит отметить, что он все еще работает в IE11, 10 и т. Д.

txtArea1.contentDocument.execCommand("SaveAs", true, "xxxx.xls");  

Нет сообщений об ошибках, просто не работает.

У кого-нибудь есть идеи, почему это произошло, или возможные обходные пути?


Вслед за этим я нашел решение, используя это:

var blobObject = new Blob([tableText]);
window.navigator.msSaveOrOpenBlob(blobObject, "download.xls.html");

Я просто идентифицирую IE11 или Edge и использую вышеупомянутое, и это прекрасно работает. Более старые версии все еще могут использовать предыдущий код, если вышеприведенный сбой.

2 ответа

Вслед за этим я нашел решение, используя это

var blobObject = new Blob([tableText]); window.navigator.msSaveOrOpenBlob(blobObject, "download.xls.html");

Я просто идентифицирую IE11 или Edge и использую вышеупомянутое, и это прекрасно работает. Более старые версии все еще могут использовать предыдущий код, если вышеприведенный сбой.

Я бы предпочел создать ссылку с download атрибут, указывающий на <iframe>"s src с некоторой строкой запроса, которую сервер обнаруживает и добавляет этот заголовок:

Content-Disposition: attachment; filename=xxxx.xls
Другие вопросы по тегам