2011-10-22 143 views
1

認證後,服務器端代碼將進入默認頁面或轉到用戶在認證之前單擊的原始頁面。在所有情況下,頁面在重定向之後呈現(我正在使用django)。在這種情況下,您如何在呈現的頁面上執行一次JavaScript代碼?我能想到的一種方式是添加一個「參數」,指示要呈現的頁面應執行一次性代碼。 「onload」函數可以檢查並執行代碼。還有沒有其他的「更優雅」的方式?認證後執行一次性JavaScript代碼

+1

你是什麼意思「一次」?由於代碼只在用戶第一次看到頁面時發生,並且如果他們重新加載頁面,代碼將不會執行? – Ivan

+0

這就像是顯示一個'歡迎回來!'的橫幅嗎? –

+0

@Ivan - 是的代碼應該只執行一次,但在瀏覽器端。 –

回答

2

您可以使用Django設置cookie或在主體上添加類。在客戶端,您只需檢查cookie或類是否存在。如果是cookie,最好用JavaScript刪除它。

+0

這是有道理的 - 我可以執行代碼,然後從客戶端刪除cookie。 –

1

我認爲您所描述的解決方案在優雅的可接受範圍內。無論如何,另一種方法是使用cookies:

身份驗證頁面將設置一個cookie,您登錄的頁面(身份驗證後)將檢查此cookie。如果它在那裏,它將運行這個「一次性」代碼並清除cookie。