我有以下情况
问题:
用户完成PDF后,点击"返回"浏览器上的按钮,希望回到主页,但他们转到JS页面,因为浏览器的工作原理 - 他们退一步。当然,它会再次显示计时器并将用户重新定向回PDF。
如何构建我的软件,以便在用户完成PDF后,单击“返回”(或其他一些简单的方法)将它们带回主页?
简单的解决方法是让用户快速连续点击两次,但这样做很不方便 - 打破了这个特定部分对用户的可用性,我不想这样做。< / p>
代码编辑:
PHP方面:
case "export-to-pdf":
$printpdf->generateCanvasInBrowser();
break;
HTML / JS方面:
public function generateCanvasInBrowser()
{
//generate form with data
//submit form to PHP script
document.forms['form'].submit();
}
PHP侧:
//Takes and processes POST-ed data from form, and generates PDF
<?
echo printPDF();
编辑对于解决方案尝试:
我使用Java Script(https://stackoverflow.com/a/15582060/2883328)进行了模式对话,现在JS页面显示在叠加div中,但随后也显示了PDF。它显示在对话框中,而不是在主浏览器中。它看起来很公平,但仍然打破了用户的预期功能,因为他们习惯于点击从PDF到主页。有了这个,我需要找到一种方法来提交表格并退出模态框。
答案 0 :(得分:1)
在主页中生成JS Page INSIDE A DIV,并且可以看到&#34;可见性:崩溃&#34;显示或隐藏。如果你使用JQuery使用(&#34; #div&#34;)。hide()和.show()
这应该更容易解决你的问题
答案 1 :(得分:1)
(从我的评论中移除,这似乎主要解决问题)
解决此问题的最佳方法是在主页上显示倒计时。这样可以完全避免这个问题,因为那时你不会加载任何页面。例如,如果您使用包含js生成页面的模式,则需要确保将表单提交到首页。您可以通过将target="_top"
添加到<form>
代码来实现这一目标。
我希望这适合你。