Загрузка не работает с Chrome Frame в IE8

У меня есть строка, содержащая данные электронной таблицы Excel XML, которые я хочу, чтобы пользователи могли загружать в виде файла .xls. В настоящее время я использую приведенный ниже код, который отлично работает в Chrome. Однако, поскольку большинство наших пользователей все еще используют IE8, нам придется запускать страницу через Chrome Frame, и здесь загрузка, похоже, не работает (ничего не происходит).

У нас также есть предупреждение о выгрузке/выходе страницы, напоминающее пользователям о сохранении перед закрытием, поэтому загрузки, вызывающие это событие (например, location.href = blob), не будут работать. – Это больше не применяется, хотя location.href все равно не работает.

var blob = new Blob([template]),
    saveLink = document.createElement("a");            

saveLink.href = window.URL.createObjectURL(blob);
saveLink.download = "EventDetails.xls";
saveLink.click();

ИЗМЕНИТЬ:

Я также безуспешно пробовал следующее:

window.open("data:application/vnd.ms-excel," + template, "_self");

И,

var blob = new Blob([template], { type: "application/vnd.ms-excel" });
window.open(window.URL.createObjectURL(blob), "_self");

Я предполагаю, что проблема в том, что Chrome Frame использует загрузчик IE8 и поэтому открывает новый сеанс, который не может получить данные?


person ChrisG    schedule 16.11.2012    source источник
comment
Какой у вас Blob([шаблон])?   -  person Alex    schedule 20.11.2012
comment
template — это строка, содержащая XML для электронной таблицы Excel.   -  person ChrisG    schedule 20.11.2012
comment
Билет сейчас в Google: https://code.google.com/p/chromium/issues/detail?id=163266   -  person ChrisG    schedule 29.11.2012


Ответы (1)


Я сомневаюсь, что это когда-либо будет исправлено, так как дальнейшая разработка Chrome Frame прекратится в январе 2014 года (см. блог) и больше никто не подписался на билет для этой задачи. Так что закрываю вопрос.

person ChrisG    schedule 05.12.2013