我有一个Rails应用程序,允许用户通过jQuery模式表单登录。登录后,我使用location.reload()刷新原始页面。
此时,我正在尝试创建一个新的jQuery对话框。只有在执行完location.reload()之后,我才能打开对话框?
现在,在location.reload()完成之前,对话框正在加载。这会导致对话框消失。
发布于 2009-12-24 09:47:42
你不能这么做。
调用location.reload()将重新加载整个页面。一旦完成,原始页面中的Javascript就完全消失了。
如果无论如何都要重新加载整个页面,那么首先使用AJAX有什么意义呢?
您应该使用常规回发执行登录,然后添加发出Javascript的服务器端代码以在登录回发中显示对话框。
您可以创建一个小的弹出窗口,在重新加载后使用window.opener与原始页面通信,但这是一个非常丑陋的想法,很容易受到弹出窗口阻止程序的攻击。
发布于 2010-05-07 15:19:27
也许您可以尝试通过追加?var=value来通过url传递变量。
然后在你的
$(document).ready(function() {
}); 检查url中的参数,如果有,执行jQuery的delay()函数?
我不确定这是否适用于Rails,就像我主要使用PHP和Drupal一样。祝好运!
https://stackoverflow.com/questions/1956282
复制相似问题