在window.location.replace(url)之后没有调用的jQuery代码

我有一个代码,点击链接(’#versionPageFromProdLink’)后,将页面重定向到索引页面。 索引页面包含内容。 我希望在重定向页面后隐藏它并显示我拥有的下一个div()。

该页面被重定向但是window.location.replace(url)之后的jQuery函数; 行不被调用。

如何在页面重定向后重定向并调用jQuery?

码:

jQuery( '#versionPageFrmProdLink').click( function(){ window.location.replace( url ); // jQuery code below is not called, 
is not hidden jQuery(".versionMainContent").hide("fast", function(){ jQuery( ".versionProductContent" ).show(); }); });

如上所述,location.replace意味着代码“之后”它将不会执行。 您需要做的是添加一个哈希“index.html #divCode”或其他一些(在这种情况下您也可以使用查询字符串),然后检测onload / on document-ready for index page,然后更新那里的隐藏/显示状态。

这基本上是不可能的。

导航到其他页面后,上一页(包括其所有Javascript)都将消失。

在重定向到的页面中重定向后,您必须处理辅助执行。

例:

第1页

 jQuery( '#versionPageFrmProdLink').click( function(){ window.location.replace( url ); } 

请注意,在重定向期间,您可以在URL中传递查询字符串以检查下一页中的条件。

第2页

现在您已重定向到下一页。 您可以放置​​document.ready函数并运行所需的操作。

 $(document).ready(function () { jQuery(".versionMainContent").hide("fast", function(){ jQuery( ".versionProductContent" ).show(); }); 

你的设计就是问题所在。 重定向会停止执行流程。 您可以使用ajax进行服务器调用并继续执行。

或者,如果您愿意,可以执行重定向并传递URL参数,例如?hideVersionMainContent = true并执行隐藏服务器端。

还有其他方法可以完成任务,但这应该会给你一些想法。

您的location.replace之后的代码在您要离开的页面上运行(如果它一直运行;更改location导航离开页面,可能会在那里终止您的代码)。

您需要传递信息以显示到新页面,并在页面上填写代码以填充统计信息。 有很多方法可以做到这一点:

  • 在查询字符串上
  • 通过网络存储 ( sessionStorage可能有意义)
  • Cookies(但不是,它不是他们的用途)