一旦使用瞬态网页,如何隐藏它?

时间:2014-10-07 13:48:25

标签: javascript web

我有以下情况

  • 主页 - 用户点击链接,指向JS生成的页面,这可能会耗费时间。
  • JS-page做了一些工作,可能会显示"计时器"说工作将在X秒内完成,并将用户重定向到PDF
  • 向用户显示PDF页面

问题:

用户完成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到主页。有了这个,我需要找到一种方法来提交表格并退出模态框。

2 个答案:

答案 0 :(得分:1)

在主页中生成JS Page INSIDE A DIV,并且可以看到&#34;可见性:崩溃&#34;显示或隐藏。如果你使用JQuery使用(&#34; #div&#34;)。hide()和.show()

这应该更容易解决你的问题

答案 1 :(得分:1)

(从我的评论中移除,这似乎主要解决问题)

解决此问题的最佳方法是在主页上显示倒计时。这样可以完全避免这个问题,因为那时你不会加载任何页面。例如,如果您使用包含js生成页面的模式,则需要确保将表单提交到首页。您可以通过将target="_top"添加到<form>代码来实现这一目标。

我希望这适合你。