我有一個允許用戶通過jQuery模態窗體登錄的Rails應用程序。登錄後,我使用location.reload()刷新原始頁面。在location.reload()完成後觸發jQuery函數
在這一點上,我試圖創建一個新的jQuery對話框。只有在location.reload()完成執行後,我如何才能打開對話框?
現在對話框在location.reload()完成之前加載。這導致對話框消失。
我有一個允許用戶通過jQuery模態窗體登錄的Rails應用程序。登錄後,我使用location.reload()刷新原始頁面。在location.reload()完成後觸發jQuery函數
在這一點上,我試圖創建一個新的jQuery對話框。只有在location.reload()完成執行後,我如何才能打開對話框?
現在對話框在location.reload()完成之前加載。這導致對話框消失。
你不能。
調用location.reload()
將重新加載整個頁面。一旦完成,來自原始頁面的Javascript完全消失了。
如果你重新加載整個頁面,首先使用AJAX有什麼意義?
您應該使用常規回傳執行登錄,然後添加發出Javascript的服務器端代碼以顯示登錄回發中的對話框。
您可以創建一個小的彈出窗口,使用window.opener
在重新加載後與原始頁面進行通信,但這是一個非常醜陋的想法,並且易受彈出窗口阻止程序的影響。
也許你可以嘗試通過追加?var=value
通過URL傳遞一個變量。
$(document).ready(function() {
});
檢查URL中的參數
然後,如果它的存在,執行jQuery的delay()
功能?
不知道這是否會與Rails一起工作,因爲我主要是做Drupal的PHP &。祝你好運!