جاوااسکریپت - ویژگی msSaveOrOpenBlob در نوع Navigator در Angular 13 وجود ندارد
پس از بهروزرسانی به انگولار ۱۳، ویژگی msSaveOrOpenBlob در نوع Navigator وجود ندارد.
من میدانم که Navigator.msSaveOrOpenBlob در حال منسوخ شدن است طبق https://developer.mozilla.org/en-US/docs/Web/API/Navigator/msSaveOrOpenBlob#browser_compatibility
من یک برنامه Angular 12 داشتم، حالا در حال مهاجرت به Angular 13 هستم و TypeScript به آخرین نسخه بهروزرسانی شده است، اما با مشکل The property msSaveOrOpenBlob doesn't exist on type Navigator مواجه هستم
کد جایگزین برای موارد زیر چه خواهد بود
if (window.navigator.msSaveOrOpenBlob) {
navigator.msSaveOrOpenBlob(blob, filename);
}
پاسخ شماره ۱
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/1029 https://github.com/microsoft/TypeScript/issues/45612
از ادغام اعلامها استفاده کنید و نوعها را بهصورت محلی در پروژه خود اعلام کنید.
