Uso Pdf.js, obtengo el archivo base64 del servicio web (this.attachmentSource), y cuando quiero agregar var iframe = "<iframe width=800 height=550 src='" + this.attachmentSource + "' > </iframe> ",Para algunos pdf en google chrome obtengo iframe vacío, pero en Mozila todo funciona bien, ¿quién puede explicar este misterio?
Localicé el problema. Chrome está bloqueando el iframe al detectar contenido inseguro y bloqueando la carga del iframe. esto solo ocurre cuando el uso de Chrome, IE Firefox, Safari en la PC funciona bien. Safari y Chrome también funcionan bien en el iPad. Parece que Chrome en PC tiene un conjunto diferente de reglas y bloquea el contenido. Seleccionar el escudo en la barra de título de la URL permite que se muestre el contenido. Presionar Ctrl shift J brinda información sobre qué contenido se está bloqueando. ¿No sería bueno que todos los navegadores siguieran un conjunto de reglas?
iFrame no es compatible con la mayoría de las cosas. Por ejemplo: si tiene gráficos en su aplicación, no se mostrarán. En su lugar, use incrustar u objeto.
<object data="{{srcUrlTrusted}}" width="100%" height="800"> <embed ng-src="{{srcUrlTrusted}}" width="100%" height="800"> </embed> </object>Estaba teniendo el mismo problema al intentar incrustar un PDF. Probé un enfoque de <iframe> y <embed> , pero aún no se abrían en Chrome.
La solución para mí fue abrir el PDF en Adobe Acrobat y, en la pestaña "Proteger", seleccionar "Eliminar información oculta". No creé este PDF, por lo que no estoy seguro de qué política, etc. estaba causando el problema.
¡Espero que esto ayude!