location.reload() 完成后触发 jQuery 函数

发布于 2024-08-15 11:36:02 字数 198 浏览 11 评论 0原文

我有一个 Rails 应用程序,允许用户通过 jQuery 模式表单登录。登录后,我使用 location.reload() 刷新原始页面。

此时,我正在尝试创建一个新的 jQuery 对话框。如何仅在 location.reload() 执行完成后打开对话框?

现在,对话框正在 location.reload() 完成之前加载。这导致对话框消失。

I have a Rails app that allows users to login via jQuery modal form. Once logged in, I refresh the original page using location.reload().

At this point, I'm attempting to create a new jQuery dialog. How can I open the dialog only after location.reload() has finished executing?

Right now the dialog is loading up before location.reload() is done. This is causing the dialog to disappear.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

画中仙 2024-08-22 11:36:02

你不能。

调用 location.reload() 将重新加载整个页面。一旦完成,原始页面的 Javascript 就完全消失了。

如果您无论如何都要重新加载整个页面,那么首先使用 AJAX 的意义何在?
您应该使用常规回发执行登录,然后添加发出 Javascript 的服务器端代码以在登录回发中显示对话框。

您可以创建一个小的弹出窗口,在重新加载后使用 window.opener 与原始页面进行通信,但这是一个非常丑陋的想法,并且很容易受到弹出窗口拦截器的攻击。

You can't.

Calling location.reload() will reload the entire page. Once it's finished, the Javascript from the original page is completely gone.

If you're reloading the entire page anyway, what's the point of using AJAX in the first place?
You should perform the login using a regular postback, then add server-side code that emits Javascript to show the dialog in the login postback.

You could create a small popup window that uses window.opener to communicate with the original page after it reloads, but that's a very ugly idea and would be vulnerable to popup blockers.

我还不会笑 2024-08-22 11:36:02

也许您可以尝试通过附加 ?var=value 来通过 url 传递变量。

然后检查

$(document).ready(function() {

}); 

url 中的该参数,如果存在,则执行 jQuery 的 delay() 函数?

不确定这是否适用于 Rails,因为我主要使用 PHP 和 Rails。德鲁帕尔。祝你好运!

Perhaps you could try passing a variable through the url by appending ?var=value.

Then in your

$(document).ready(function() {

}); 

check for that parameter in the url and if it is there, execute jQuery's delay() function?

Not sure if this will work with Rails as I mostly do PHP & Drupal. Good luck!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文