2012-01-10 42 views
5

Tengo Fancybox configurado de modo que cuando un usuario hace clic en un enlace pdf, muestra el pdf en una ventana emergente, sin embargo, en Firefox pregunta si desea guardar o abrir el archivo y no lo hago. quiero esto ¿Cómo puedo forzar que el pdf se muestre en la ventana emergente de fancybox? Funciona en Safari.Fancybox Problema PDF en Firefox

<a class="pdf" href="http://www.test.co.u.uk/test.pdf">test.pdf</a> 

$(".pdf").fancybox({ 
    'width' : '700', 
    'height' : '700', 
    'autoScale' : true, 
    'transitionIn' : 'none', 
    'transitionOut' : 'none', 
    'type' : 'iframe' 
}); 

Respuesta

2

Personalmente, sólo tiene que utilizar Google Docs para visualizar la PDF en un iframe Cambia automáticamente el tamaño del PDF para que coincida con las dimensiones del marco flotante. Aquí está el formato para usar:

<iframe src="http://docs.google.com/gview?url=http://samplepdf.com/sample.pdf&embedded=true" style="width:100%; height:100%;" frameborder="0"></iframe> 

No necesita flash ni ningún otro complemento.

+0

esto solo funciona en una URL públicamente visible – rbp

0

que sería convertir el archivo PDF a HTML, o tratar de convertir el PDF en una imagen.

Tuve este problema, pero no pude cambiar la configuración de mi servidor para mostrar archivos PDF en lugar de solicitar su descarga.

También hay variaciones entre los navegadores por la forma en que leen los archivos PDF.

0

A menos que el usuario tenga un complemento que haga que PDF esté instalado, el PDF no se procesará en línea en Firefox. Simplemente no es un formato que Firefox originalmente admita en este momento.

0

Lo más probable es que no tenga instalado el plugin pdf en Firefox o que el plugin simplemente se haya bloqueado.

En Firefox, vaya a Tools ->Add-ons ->Plugins y busque el complemento Adobe Acrobat PDF en la lista. Si no está allí, check this para aprender cómo instalarlo (o reinstalarlo).

Además, hay una mejor manera de abrir archivos PDF con FancyBox aparte de marco flotante, por lo que para este html:

<a class="pdf" href="http://www.test.co.u.uk/test.pdf">test.pdf</a> 

puede utilizar este script:

$(document).ready(function() { 
$(".pdf").click(function() { 
    $.fancybox({ 
    'width': '70%', // or whatever 
    'height': '90%', 
    'autoDimensions': false, 
    'content': '<embed src="'+this.href+'#nameddest=self&page=1&view=FitH,0&zoom=80,0,0" type="application/pdf" height="99%" width="100%" />', 
    'onClosed': function() { 
    $("#fancybox-inner").empty(); 
    } 
    }); 
    return false; 
}); // pdf 
}); // ready 

Me recomendó este método para Fancybox v1.3.x desde May 2010

Tenga en cuenta que configuro height = "99%". Si usa HTML5 DCTYPE, evitará una doble barra de desplazamiento vertical. Esto se debe a que HTML5 inicializa los márgenes.

ACTUALIZACIÓN. Por cierto, los valores enteros ir sin qoutes por lo

'width' : '700', 
'height' : '700', 

debería ser

'width' : 700, 
'height' : 700, 

Se le ahorrará algunos dolores de cabeza, sobre todo con el IE