Fancybox PDF выпуск в Firefox - PullRequest
       36

Fancybox PDF выпуск в Firefox

5 голосов
/ 10 января 2012

Я настроил Fancybox так, чтобы, когда пользователь нажимает на ссылку PDF, он отображает PDF во всплывающем окне, однако в Firefox он спрашивает, хотите ли вы сохранить или открыть файл, а я этого не хочу. Как я могу заставить PDF отображаться во всплывающем окне fancybox? Работает в Safari.

<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'
});

Ответы [ 4 ]

2 голосов
/ 11 января 2012

Лично я бы использовал Google Docs для отображения PDF в iframe. Он автоматически изменяет размер PDF в соответствии с размерами iframe. Вот формат для использования:

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

Вам не нужна прошивка или другие плагины.

0 голосов
/ 10 января 2012

Если у пользователя не установлен подключаемый модуль для рендеринга PDF, он не будет встроен в Firefox Сейчас это просто не тот формат, который изначально поддерживает Firefox.

0 голосов
/ 10 января 2012

Скорее всего, у вас не установлен плагин pdf в Firefox или он просто сломался.

В Firefox перейдите на Tools -> Add-ons -> Plugins ипоищите плагин Adobe Acrobat PDF в списке.Если его там нет, установите флажок , чтобы узнать, как его установить (или переустановить).

Кроме того, есть лучший способ открыть PDF-файлы с помощью fancybox, отличного от iframe., поэтому для этого html:

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

вы можете использовать этот скрипт:

$(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

Я рекомендовал этот метод для Fancybox v1.3.x, начиная с Май 2010

Обратите внимание, что я установил height = "99%".Если вы используете HTML5 DCTYPE, он избежит двойной вертикальной полосы прокрутки.Это связано с тем, что HTML5 инициализирует поля.

UPDATE .Кстати, целочисленные значения идут без кавычек, поэтому

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

должно быть

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

Это избавит вас от головной боли, в основном с IE

0 голосов
/ 10 января 2012

Я бы преобразовал PDF-файл в HTML или попытался бы превратить PDF-файл в изображение.

У меня была эта проблема, но я не смог изменить настройки своего сервера для отображения файлов PDF вместо того, чтобы предлагать их для загрузки.

Существуют также различия между браузерами в способе чтения файлов PDF.

...