2013-08-01 4 views
0

У меня есть iframe на моей странице, который отображает PDF-файл, расположенный в том же домене. Из-за того, как эта система построена, мне необходимо использовать полные пути в моих тегах src (например, http://www.example.com/test.pdf). Когда я пытаюсь напечатать я получаю следующее сообщение об ошибке:Firefox не может получить доступ к печати iframe в том же домене

Error: Permission denied to access property 'print'

Если удалить «http://www.example.com/», Firefox имеет возможность печатать, но путает другие части системы.

Похоже, что Firefox считает, что iframe src находится в другом домене только потому, что я использую полные пути, но это не так. Есть ли обходной путь для этого?

Мой код печати:

$('#iframe')[0].focus(); 
$('#iframe')[0].contentWindow.print(); 

ответ

1

работа вокруг для этого было бы использовать CSS @media. См пример ниже,

<BODY> 
<STYLE type="text/css"> 
@media print 
{ 
    .dontprint{display:none} 
} 
</STYLE> 
<SCRIPT type="text/javascript"> 
function printPdf(){ 
     window.frames["printf"].focus(); 
     try { 
      window.frames["printf"].print(); 
     } 
     catch(e){ 
      window.print(); 
      console.log(e); 
     } 
    } 
</SCRIPT> 

<DIV class="dontprint" > 
Some of your content here 
<form><input type="button" onClick="printPdf()" value="Print"/></form> 
... 
... 
</div> 
<IFrame id="printf" src="whatever"></IFRAME> 
<DIV class="dontprint" > 
more content 
... 
... 

</div> 
</BODY> 

Refer this for discussion

Смежные вопросы