这是我的代码的一部分
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script>
function myFunction()
{
alert("Page is loaded");
}
</script>
</head>
<body onload="myFunction();">
<%
class HeaderAndFooter extends PdfPageEventHelper {
private String name = "";
protected Phrase footer;
protected Phrase header;
Font headerFont = new Font(FontFamily.COURIER, 18, Font.BOLD | Font.ITALIC | Font.UNDERLINE);
Font footerFont = new Font(FontFamily.HELVETICA, 11, Font.BOLD);
//some code
response.reset();
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "inline; filename=data.pdf");
//code that uses itext to display in pdf.
我的问题是一旦页面被加载,即pdf显示在嵌入式pdf查看器中警报未来。这是因为行response.setContentType("application/pdf");
我甚至尝试过document.ready但是没有用。请帮助。
答案 0 :(得分:0)
浏览器使用第三方插件显示pdf。我不认为您可以这样做,因为您的回复设置为application / pdf。
我建议使用javascript在新窗口中打开pdf。
要检查您的iframe是否已加载,请尝试此操作,在父窗口加载时调用checkIframe函数,我的意思是说window.onload
<script>
var timer =null;
function checkIframe() {
iframe = document.getElementById('myIframeId');
var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
if ( iframeDoc.readyState == 'complete' ) {
iframe.contentWindow.onload = function(){
clearInterval(timer);
afterLoading();
};
}
timer = window.setInterval(checkIframe, 100);
}
function afterLoading(){
alert("I am loaded");
}
</script>