2010-04-05 25 views
1

我有一個插頁式應用程序,用於在密集操作在後臺運行時持有用戶(從30秒到1分鐘)。操作完成後,用戶將被重定向到結果頁面。如果用戶點擊後退按鈕,如何在django視圖中跳過插頁式廣告?

一旦在結果頁面上,典型的用戶行爲就是點擊'後退'按鈕來對不同的輸入集合執行操作。但是,後退按鈕會將它們帶到插頁式廣告,而不是原始廣告形式。期望的行爲是回到原始形式,完全跳過插頁式廣告。如果用戶從原始表單進入插頁式廣告頁面,我希望這是默認行爲。

我想我可以通過在我的視圖中使用@never_cache函數裝飾器創建此插頁式廣告,並根據request.META['HTTP_REFERER']的邏輯,但是頁面不尊重這些。瀏覽器的後退按鈕仍然勝過這種行爲。

有關如何解決此問題的任何想法?

+0

如果您在結果頁面添加了一個按鈕以返回表單,該怎麼辦?或者這難道不會克服用戶使用「後退」按鈕的衝動? – 2010-04-05 20:22:21

+0

它可能不會遏制這個問題,但我喜歡這個想法。 :)不幸的是,它並沒有解決如何讓django注意緩存和後退按鈕以及如何爲此編寫邏輯的主要問題。 – 2010-04-05 20:58:00

+0

防止頁面被緩存並不意味着它不存在。後退按鈕進入歷史記錄並獲取當前頁面之前的URL ...在您的情況下,它是插頁式廣告。 因此,你所做的是阻止瀏覽器緩存頁面,因此,當用戶按下後退按鈕時,它會再次下載而不是從緩存中取出。 – 2010-04-06 04:28:46

回答

2

如何阻止插頁式頁面進入流程?消除它。

我只是最近我的包裹圍繞AJAX的頭,所以希望我可以給你一個更具體的答案,但一般的方法是在提交申請後使用類似jQuery替換形式<div>的內容與「哎,我在這裏工作「指示,然後準備好後再加載新頁面。

jQuery非常好地附加一個獨特的垃圾參數到特定的請求,以明確地阻止易失性頁面的緩存。

相關問題