Microsoft удалила msSaveOrOpenBlob из встроенных браузеров outlook? - PullRequest
0 голосов
/ 04 февраля 2020

В последние дни мы получили несколько звонков от клиентов. В некоторых случаях загрузка из локального хранилища на локальный диск не удалась. После отладки надстройки мы обнаружили, что navigator.msSaveOrOpenBlob не определен. Протестировано с Office 365 ProPlus версии 1908 (сборка 11929.20562, нажмите и запустите). Почтовый аккаунт находится на * .onmicrosoft.com. Может быть, переключение на Chromium вызывает такие изменения в поведении?

Основная проблема в том, что известный переключатель браузера

data = typeof (data) === "string" ? data : JSON.stringify(data);
var blob = new Blob([data], { type: "octet/stream" });
var url = window.URL.createObjectURL(blob);

//for microsoft IE
if ( window.navigator && window.navigator.msSaveOrOpenBlob) {
     window.navigator.msSaveOrOpenBlob(blob, fileName);
} 
else
 { //other browsers

   var link = document.createElement("a");
   link.setAttribute("style", "display: none");
   link.setAttribute('href', url);
   link.setAttribute('download', fileName);
   document.body.appendChild(link);

   link.click();
   window.URL.revokeObjectURL(url);
   link.remove();
}

теперь бесполезен. Более новые версии outlook следуют за другим случаем, и мы сталкиваемся с проблемами безопасности (В доступе отказано). msSaveOrOpenBlob был способом Microsoft для загрузки на локальный диск, все другие браузеры поддерживают случай else.

Может кто-то подтвердить эту проблему и есть ли обходной путь.

thx Moritz

...