我有以下情况
问题:
一旦用户完成了PDF,他们点击浏览器上的“后退”按钮,希望返回到主页,但取而代之的是JS页面,因为浏览器就是这样工作的--他们后退一步。当然,这会再次显示计时器,并将用户重定向回PDF。
如何构造我的软件,以便当用户完成PDF时,单击Back (或其他一些简单的方式)将其带回主页?
简单的解决方法是让用户快速地连续点击上两次,但这有点不方便--破坏了用户对这一特定部分的可用性,我不想这样做。
代码的编辑:
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 (https://stackoverflow.com/a/15582060/2883328)做了一个模态对话框,现在JS页面出现在一个覆盖div中,但也显示了PDF。它显示在对话框中,而不是在主浏览器中。这看起来很公平,但仍然打破了用户预期的功能,因为他们已经习惯了从PDF到主页的返回。有了这个,我将需要找到一种方法来提交表单,并走出模式框。
发布于 2014-10-07 15:08:53
(从我的评论中移开,我的评论似乎主要解决了问题)
解决这个问题的最好方法是在主页上显示倒计时。这将完全避免这个问题,因为这样您就不会在中间加载任何页面。例如,如果使用包含js生成页面的模式,则需要确保将表单提交到顶部页面。您可以通过将target="_top"
添加到<form>
标记来做到这一点。
我希望这对你有用。
发布于 2014-10-07 13:55:07
在主页中的DIV中生成JS页面,工作范围为“可见性:折叠”以显示或隐藏使用.if (“#div”)、.hide()和.show()的.hide()
这应该会容易得多并且解决你的问题
https://stackoverflow.com/questions/26237583
复制相似问题