Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.9K
Visualizações
Después de actualizar el mecanografiado ^3.7.2 al último "mecanografiado": "^4.4.4" - error TS2339: la propiedad 'msSaveOrOpenBlob' no existe en el tipo 'Navegador'

He usado este método msSaveOrOpenBlob. funcionaba correctamente, pero después de actualizar el mecanografiado a la última versión, recibo varios errores, hay dos errores.

window.navigator.msSaveOrOpenBlob(datos, nombre de archivo);

error TS2322: el tipo 'Promise<>' no se puede asignar al tipo 'IPromise<>'.

Cual es el arreglo de eso.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Es mi primer desarrollo en angular más específico en la versión 12, y creé un método en un componente que hace una descarga de un archivo xlsx, en Chrome funciona pero en IE no funciona, encuentro que agregando esta window.navigator.msSaveOrOpenBlob(data, filename); Explorer puede descargar el archivo, pero en el error de marca VSC y es

La propiedad 'msSaveOrOpenBlob' no existe en el tipo 'Navegador'

y cambio el módulo y lib en tsconfig.json ,

 "module": "es2020", "lib": [ "es2020", "dom" ]

para:

 "module": "es2015", "lib": [ "es2015", "dom" ]

En el código window.navigator.msSaveOrOpenBlob VSC marca lo mismo

Propiedad 'msSaveOrOpenBlob'....'

pero cuando ejecuto ng sirve su trabajo y descargo un archivo xlsx en IE y Chrome.

over 4 years ago · Santiago Trujillo Relatório

0

msSaveOrOpenBlob fue una adición patentada al objeto Navigator , agregada por Microsoft para Internet Explorer. Dado que Microsoft está eliminando gradualmente la compatibilidad con Internet Explorer, ha eliminado la compatibilidad con muchas de las adiciones no estándar realizadas a los archivos lib.dom.d.ts y lib.es*.d.ts que se envían con TypeScript. Consulte este problema de GitHub sobre los cambios en el archivo DOM.d.ts.

Como se indica en este problema de GitHub sobre el tema , tendrá que usar la combinación de declaraciones para agregar estos tipos a Navigator usted mismo.

over 4 years ago · Santiago Trujillo Relatório

0

La respuesta de @Heretic Monkey es correcta, pero si solo quiere solucionar el problema, ya que está usando TypeScript, puede convertirlo para escribir any antes de llamar a msSaveOrOpenBlob.

(window.navigator as any).msSaveOrOpenBlob(data, filename);

Además, debe asegurarse de que el objeto del navegador tenga el método en primer lugar, por lo que:

 const nav = (window.navigator as any); if (nav.msSaveOrOpenBlob) { nav.msSaveOrOpenBlob(data, filename); }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda