2015-12-10 4 views
0

Мой код вызывает ошибку JS, offsetParent не установлен - не может прокручиваться. Я попробовал position: relative;, но он по-прежнему показывает ту же ошибку.Как открыть pdf-файл во всплывающем окне с jquery

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.js" type="text/javascript"></script> 
<link href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/themes/blitzer/jquery-ui.css" rel="stylesheet" type="text/css" /> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#btnShow').click(function(){ 
      $("#dialog").dialog(); 
     }); 
    });     
</script> 

<a href="#" id="trigger">this link</a> 
<div id="dialog" style="display: none; position: relative; height: 4em; overflow: scroll;"> 
    <div> 
     <iframe src="reports/my_pdf.pdf"></iframe> 
    </div> 
</div> 
+0

помощи-ETH. эта вещь не уходит ... –

+0

вы уверены, что offsetParent даже в коде, с которым вы работаете ... посмотрите, получите ли вы это без какого-либо кода в вашем примере. также снимаем стили с вашего диалогового div ... – Seabizkit

+0

@Seabizkit, загружая pdf в iframe внутри скрытого div, достаточно, чтобы получить это (по крайней мере, в firefox), а также вы видите в стиле «display: none» для диалога div достаточно , –

ответ

4

Попробуйте использовать "ленивую загрузку":

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#btnShow').click(function(){ 
      $("#dialog").dialog(); 
      $("#frame").attr("src", "reports/my_pdf.pdf"); 
     }); 
    }); 
</script> 

<a href="#" id="btnShow">this link</a> 
<div id="dialog" style="display: none;"> 
    <div> 
     <iframe id="frame"></iframe> 
    </div> 
</div> 
+0

Спасибо. Это сработало. –

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