Свойство msSaveOrOpenBlob не существует для типа Navigator angular 13

Свойство msSaveOrOpenBlob не существует в типе Navigator после обновления до углового 13.

Я знаю Navigator.msSaveOrOpenBlobустарел согласно https://developer.mozilla.org/en-US/docs/Web/API/Navigator/msSaveOrOpenBlob#browser_compatibility

У меня было приложение angular 12, теперь я перехожу на angular 13, и машинописный текст был обновлен до последней версии, но столкнулся с проблемой The property msSaveOrOpenBlob doesn't exist on type Navigator

какой будет альтернативный код для нижеприведенного

      if (window.navigator.msSaveOrOpenBlob) {
            navigator.msSaveOrOpenBlob(blob, filename);
        }

3 ответа

      let newVariable: any = window.navigator;
var newBlob = new Blob([res.body], { type: "application/csv" });
if (newVariable && newVariable.msSaveOrOpenBlob) {
    newVariable.msSaveOrOpenBlob(newBlob);
    return;
}

Нашел несколько ссылок

https://github.com/microsoft/TypeScript-DOM-lib-generator/issues/1029https://github.com/microsoft/TypeScript/issues/45612

Используйте слияние объявлений и объявляйте типы локально в своей работе над проектом.

Объявите ниже код в main.ts

        declare global{
    interface Navigator {
      msSaveOrOpenBlob?: (blob: any, defaultName?: string) => boolean
    }
  }
Другие вопросы по тегам