blumi78
IE 11 todavía no es compatible con las funciones de ES2015 como Promesas.
Mi enfoque predeterminado aquí es usar una biblioteca Polyfill, incluirla en la sección «externalJS» de pbiviz.json y agregar «es2015» como lib a tsconfig.json.
Como resultado, el objeto visual personalizado se compila, pero el primer uso de una Promesa da como resultado un error:
new Promise((resolve, reject) => { resolve(); });
ERROR TypeError: Erlaubnis verweigert.
Die Eigenschaft «getOwnPropertyNames» eines undefinierten oder Nullverweises kann nicht abgerufen werden.
En inglés es probablemente
ERROR TypeError: Permiso denegado.
No se puede recuperar la propiedad «getOwnPropertyNames» de una referencia nula o no definida.
Sin embargo, cuando escribo en su lugar
new window["Promise"]((resolve, reject) => { resolve(); });
.. funciona como se esperaba.
¿Que esta pasando aqui?
v-viig
Este problema está relacionado con el hecho de que Power BI crea una copia del objeto de ventana para aislar el código PBI del código de Visual personalizado.
Tal solución puede producir problemas con algunos métodos nativos y produce problemas con la importación de bibliotecas externas.
Mientras tanto, estamos implementando herramientas PBIVIZ basadas en Webpack para admitir ES2015 y eliminar este problema mediante el aislamiento de código adicional. Ya puedes comprobarlo. Está disponible bajo la etiqueta beta en NPM.
Ignat Vilesov,
Ingeniero de software
Imágenes personalizadas de Microsoft Power BI
pbicvsupport@microsoft.com
blumi78
En respuesta a v-viig
Probé la versión beta (@ 2.0.1) del paquete powerbi-visuals-tools. Me da un «Error de sintaxis» en IE11 de inmediato con el visual de muestra que obtienes con «pbiviz new». Sin embargo, otros navegadores funcionan.
Si dices, es seguro usar la ventana[«Promise»], entonces puedo trabajar con eso.
v-viig
En respuesta a blumi78
Si, ventana[«Promise»] probablemente funcionará bien.
Ignat Vilesov,
Ingeniero de software
Imágenes personalizadas de Microsoft Power BI
pbicvsupport@microsoft.com
tpatel
En respuesta a v-viig
¿Me puede mostrar la función de cómo implementar?
blumi78
En respuesta a tpatel
Reemplazar todas las llamadas «Promesa» por la ventana «[‘Promise’]»
¿Que quieres saber exactamente?
tpatel
En respuesta a blumi78
¿Quieres decir en PowerBi.js reemplazar las llamadas de Promise?
blumi78
En respuesta a tpatel
En su código Visual personalizado, generalmente todos los archivos * .ts.
v-viig
En respuesta a blumi78
¿Ha resuelto los problemas?
Ignat Vilesov,
Ingeniero de software
Imágenes personalizadas de Microsoft Power BI
pbicvsupport@microsoft.com
tpatel
En respuesta a v-viig
todavía no. A continuación se muestra la función que tengo.
función Imprimir () {
var embedContainer = $ (‘# reportContainer’)[0];
// Obtenga una referencia al informe incrustado.
informe = powerbi.get (embedContainer);
// Active el cuadro de diálogo de impresión de su navegador.
report.print ()
.catch (función (errores) {
Console.log (errores);
});
}
v-viig
En respuesta a tpatel
¿Sigue recibiendo un error relacionado con Promise?
Ignat Vilesov,
Ingeniero de software
Elementos visuales personalizados de Microsoft Power BI
pbicvsupport@microsoft.com