4

助けが必要

iframeクリックしながらPDFをロードしてから、印刷ダイアログを呼び出す必要があります。

私はそのようなコードを持っています:

$('.print').click(function () {
   var iframe = '<iframe src="test.pdf" id="print-iframe" name="print-iframe"></iframe>';
   $('body').append(iframe);
   window.frames["print-iframe"].focus();
   window.frames["print-iframe"].print();
});

Chromeで完全に機能します。しかし、Firefox では次のようなエラーが発生します Error: Permission denied to access property 'print'

どうすれば回避できますか?ありがとう!

4

2 に答える 2

8

Firefox の最近のバージョン (19 以降) では、バグのあるネイティブ PDF ビューアー (pdf.js) を無効にする必要がありますabout:configpdfjs.disabledプロパティを に設定するtrueと、スクリプトを使用して印刷ウィンドウが表示されます。

ダウンロードが開始された場合は、plugin.disable_full_page_plugin_for_typesプロパティをに設定しますapplication/pdf

于 2014-01-31T10:55:17.027 に答える
-2

これは、完全な URL src="domain.com/file.pdf" を持つ iframe の Src のエラーです。

あなたが試すことができます

$('.print').click(function () {

  var domain = location.protocol + "//" + location.host;
  var iframe = '<iframe src="'+domain+'/test.pdf" id="print-iframe" name="print-iframe"></iframe>';
  $('body').append(iframe);
  window.frames["print-iframe"].focus();
  window.frames["print-iframe"].print();
});
于 2013-04-02T17:06:24.477 に答える