4

如何在 jQuery/JS 重定向后立即执行 jQuery/JS 代码...

$(location).attr('href','/target_path');

...或者...

window.location.href = "/target_path";

...已完成加载新页面?

具体来说,我需要传递一条警报消息并将其插入并在新页面上显示(包含在一些 HTML 中)。

4

4 回答 4

6

你不能。一旦发生重定向,您就不再在该页面上。您无法在不再位于的页面上执行代码。如果您希望下一页做某事,那么您需要通过 cookie 或 URL 参数传递一个指示它这样做的标志。

于 2013-05-02T15:34:32.590 回答
2

在重定向后告诉 JavaScript 执行某些代码是不可能的。

但是,您有不同的选择:

  1. 在重定向 URL 中传递一个字符串,然后在“准备好”时执行某些操作
  2. 将一些信息存储在 cookie 中,然后在“准备就绪”时执行某些操作
  3. 如果您不介意较小的浏览器支持,请使用DOM 存储(即)存储一些数据sessionStorage
于 2013-05-02T15:36:58.047 回答
0

您不能在重定向的页面中执行此操作。不过,您可以在登录页面 ( document.referrer) 中阅读引荐来源网址,然后根据此决定是否显示警报。

于 2013-05-02T15:36:01.970 回答
0
var x = "It's some text";
var loc = '/target_path';

loc += '?message=' + encodeURI(x);

然后,新页面上的 JS 文件可以查看查询字符串以查看是否有消息,如果检测到则执行所需的操作。

您可以window.location.search在新页面上使用以查看其中的内容,尽管我建议在库中寻找 deparam 函数以将查询字符串转换为更可用的对象。

于 2013-05-02T15:36:35.273 回答