我正在使用window.location.replace()
重定向到新网页(与原始网页相同的域名)。但是,我需要在重定向完成后运行一些jquery代码。我不能简单地嵌入我想在目标页面上运行的代码,因为它需要我在当前上下文中拥有的数据。
有没有办法在新页面上设置类似于document.ready的触发器?
我的第一个想法是
window.location.replace(data.redirect);
$(document).ready(
function() {
(use data variable from outer context)
}
);
但是这不起作用,因为该函数将在当前文档上运行。
这甚至可能吗?
答案 0 :(得分:4)
您应该在网址上添加#datayouneed,并通过新页面上的javascript读取网址的哈希部分。
答案 1 :(得分:2)
如果无法将代码放到目标页面上,则无法在目标页面上执行代码。您可以通过以下几种方式获取数据:
除了这几种方法之外,您将没有很多其他选项可以将您的数据从A转移到B.最后两个选项确实只有在用户停留在您的域/服务器上时才有可能。
答案 2 :(得分:1)
不,不可能,但如果你在同一个域名,你是否考虑过将这些信息放入cookie中?
答案 3 :(得分:0)
您可以在当前网址上设置has,然后在第二页上阅读。
在第一页;
window.location.href = "http://second.page#param1=val1¶m2=val2"
在第二页中,您可以使用;
if(window.location.hash) {//Something like param1=val1¶m2=val2
//Do your action
} else {
// Another action
}
您可以参考here了解有关哈希
的更多信息