2014-10-07 20 views
1

我有以下的情況如何在暫時的網頁被使用後隱藏它?

  • 首頁 - 用戶點擊一個鏈接,引導他們到JS-生成的頁面,這可能是時間密集
  • JS-頁面做了一些工作,可能會顯示一個「定時」的說法,工作將在X秒內完成,並重定向用戶到一個PDF
  • PDF頁面顯示給用戶

問題:

用戶完成PDF後,他們點擊瀏覽器上的「返回」按鈕,希望返回到主頁,而是轉到JS頁面,這是瀏覽器的工作原理 - 他們退後一步。當然,它會再次顯示計時器並將用戶重定向回PDF。

我該如何構建我的軟件,以便當用戶使用PDF時,點擊返回(或其他簡單的方法)將他們帶回主頁?

簡單的解決方法是讓用戶快速連續兩次點擊返回,但這樣做很不方便 - 打破了用戶的特殊作品的可用性,我不想這樣做。

EDIT對於編碼:

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頁面顯示了在覆蓋格,但後來也做了PDF。它顯示在對話框中,而不是在主瀏覽器中。它看起來很公平,但仍然會打破用戶的預期功能,因爲它們用於從PDF返回到主頁。有了這個,我需要找到一種方法來提交表單並退出模式框。

+0

你用什麼來重定向觀衆?只是一個'document.location.href ='''? – Joeytje50 2014-10-07 13:55:25

+0

我使用表單提交,所以'document.forms ['my_form']。submit();' – Dennis 2014-10-07 13:58:20

+0

可以請你展示一些代碼,就像一個工作的例子嗎?我不太清楚我明白你在做什麼,所以我目前無法真正找到問題的原因。例如,如果可以,請將我鏈接到演示您的問題的[jsfiddle](http://jsfiddle.net)演示,或者如果這不起作用,則指向您的站點的鏈接。 – Joeytje50 2014-10-07 13:59:44

回答

1

解決這個問題的最好辦法是顯示在倒計時(在從我的意見,這似乎解決大部分的問題移動)主頁本身。這樣可以完全避免這個問題,因爲那樣你就不會在兩者之間加載任何頁面。例如,如果您使用的模式包含js生成的頁面,那麼您需要確保將表單提交到首頁。您可以通過將target="_top"添加到<form>標籤來完成此操作。

我希望這對你的作品。

+0

好吧謝謝!這似乎奏效了,痛苦極少。 我做了'target =「_ top」'的方式。由於我的用戶界面的性質,我不確定頁面內容是否最好 - 做一個彈出窗口「請稍候」對我來說似乎更有意義。頁面內的方式可能很酷,但也許以後會:) – Dennis 2014-10-07 15:20:16

1

在主頁中生成JS頁面內的DIV,並使用widh「visibility:collapse」顯示或隱藏。如果您使用jQuery use(「#div」)。hide()and .show()

這應該是一個極大的方便,解決你的問題

相關問題