我有一个JQM网站,在提交表单时生成pdf文件。所有这一切都运行正常,但我在iPhone上从主屏幕启动时,在新窗口中打开pdf(打开safari ..)时出现问题。
看来我不是唯一一个遇到此问题的人,但我还没有找到合适的解决方案。如果我链接到带有锚标签的静态pdf,我在safari中打开一个新窗口没有问题。我的结论是,如果我用一个anchortag提交我的表格,一切都会有效。
但是,当我尝试使用以下代码时,结果与我使用常规提交按钮发布表单的结果相同。
有人可以帮我解决另一个问题吗?或者可能调整它以使其有效?
这是我的表格:
<form name="pdf" action="pdf_report1.php" data-ajax="false" target="_blank" id="pdf_report" method="POST">
<input type="hidden" name="customer_id" value="<?php echo $customer_id; ?>" >
<input type="hidden" name="date_from" value="<?php echo $date_from; ?>" >
<input type="hidden" name="date_to" value="<?php echo $date_to; ?>" >
<input type="hidden" name="user_id" value="<?php echo $user_id; ?>" >
<input type="hidden" name="maskin_id" value="<?php echo $maskin_id; ?>" >
<input type="hidden" name="akeri_id" value="<?php echo $akeri_id; ?>" >
<input type="hidden" name="littra_id" value="<?php echo $littra_id; ?>" >
<a href="javascript: document.getElementById('pdf_report').submit();" data-role="button">Create PDF</a>
</form>
答案 0 :(得分:0)
请务必将这些内容放入pdf_report1.php
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="downloaded.pdf"');
答案 1 :(得分:0)
我对使用iPhone做的事情知之甚少,但添加target = '_blank'
会强制它在空白标签或页面中打开,具体取决于该broswer的默认值。 EX:
<a href="javascript: document.getElementById('pdf_report').submit();" data-role="button" target="_blank">Create PDF</a>
答案 2 :(得分:0)
在调查此问题并且无法按照我希望使用表单解决问题之后,我采用了不同的方式。 我没有使用表单,只是简单地添加了URL中我需要的所有值,并使用目标页面上的get来提取它。也许不是最优雅的方式,但它适合我。 现在,当我从iPhone的主屏幕启动Web应用程序时,PDF将在safari的新窗口中打开。