Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何隐藏一个临时网页,一旦它';有人用过吗?_Javascript_Web - Fatal编程技术网

Javascript 如何隐藏一个临时网页,一旦它';有人用过吗?

Javascript 如何隐藏一个临时网页,一旦它';有人用过吗?,javascript,web,Javascript,Web,我有以下情况 主页——用户单击一个链接,该链接将他们引导到JS生成的页面,这可能需要大量时间 JS页面做了一些工作,可能会显示一个“计时器”,表示工作将在X秒内完成,并将用户重定向到PDF PDF页面将显示给用户 问题: 一旦用户使用完PDF,他们点击浏览器上的“后退”按钮,希望返回主页,但他们会转到JS页面,因为浏览器就是这样工作的——他们会后退一步。当然,它会再次显示计时器,并将用户重定向回PDF 我如何构造我的软件,以便当用户使用完PDF后,单击“上一步”(或其他简单方式)将他们带回主

我有以下情况

  • 主页——用户单击一个链接,该链接将他们引导到JS生成的页面,这可能需要大量时间
  • JS页面做了一些工作,可能会显示一个“计时器”,表示工作将在X秒内完成,并将用户重定向到PDF
  • PDF页面将显示给用户
问题:

一旦用户使用完PDF,他们点击浏览器上的“后退”按钮,希望返回主页,但他们会转到JS页面,因为浏览器就是这样工作的——他们会后退一步。当然,它会再次显示计时器,并将用户重定向回PDF

我如何构造我的软件,以便当用户使用完PDF后,单击“上一步”(或其他简单方式)将他们带回主页

简单的解决方法是让用户连续快速点击两次,但这有点不方便——破坏了用户对这一特定内容的可用性,我不想这样做

编辑代码:

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();
//从表单中获取和处理发布的数据,并生成PDF

在主页的DIV内生成JS页面,并使用widh“visibility:collapse”来显示或隐藏。如果使用JQuery,则使用(“#DIV”).hide()和.show()

这应该会容易得多,并解决您的问题(从我的评论开始,它似乎主要解决了问题)

解决这个问题的最好方法是在主页上显示倒计时。这将完全避免问题,因为这样您就不会加载中间的任何页面。例如,如果使用包含js生成的页面的模式,则需要确保将表单提交到顶部页面。您可以通过将
target=“\u top”
添加到您的
标记中来实现这一点


我希望这对你有用。

你用什么重定向观众?只有一个
document.location.href='
?我使用表单提交,所以
document.forms['my_form'].submit()能否请您展示一些代码,比如一个工作示例?我不太清楚我是否理解你在做什么,所以我现在无法真正找到你问题的原因。例如,如果可以,请将我链接到演示您的问题的演示,如果不行,请链接到您的站点。还有,为什么您需要首先将用户重定向到JS生成的页面?你不能在主页上显示倒计时吗?这将完全避免问题。我可能会做一个覆盖div。以前没有做过一个,但可能它可以工作。好的,谢谢!这似乎起到了作用,痛苦最小。我用
target=“\u top”
的方式完成了。由于我的用户界面的性质,我不确定in-page是否是最好的——对我来说,弹出一个“请稍候”似乎更有意义。页面方式可能很酷,但以后可能会:)