我有一个代码,点击链接('#versionPageFromProdLink')后,会将页面重定向到索引页面。索引页面包含内容。我希望在重定向页面后隐藏它并显示我拥有的下一个div()。
页面被重定向但是window.location.replace(url)之后的jQuery函数;行不被调用。
如何在页面重定向后重定向并调用jQuery?
代码:
jQuery( '#versionPageFrmProdLink').click( function(){
window.location.replace( url );
// jQuery code below is not called, <div id="versionMainContent"> is not hidden
jQuery(".versionMainContent").hide("fast", function(){
jQuery( ".versionProductContent" ).show();
});
});
答案 0 :(得分:1)
这根本不可能。
导航到其他页面后,上一页(包括其所有Javascript)都已消失。
答案 1 :(得分:1)
如上所述,location.replace表示代码“之后”不会执行。您需要做的是,附加一个哈希“index.html #divCode”或其他一些(在这种情况下您也可以使用查询字符串),然后检测onload / on document-ready for index page,然后更新那里的隐藏/显示状态。
答案 2 :(得分:0)
您必须在重定向到的页面中重定向后处理辅助执行。
示例:
Page 1
jQuery( '#versionPageFrmProdLink').click( function(){
window.location.replace( url );
}
注意在重定向期间,您可以在URL中传递查询字符串以检查下一页中的条件。
第2页
现在您已重定向到下一页。您可以放置document.ready函数并运行所需的内容。
$(document).ready(function () {
jQuery(".versionMainContent").hide("fast", function(){
jQuery( ".versionProductContent" ).show();
});
答案 3 :(得分:0)
你的设计是个问题。重定向会停止执行流程。您可以使用ajax进行服务器调用并继续执行。
或者,如果您愿意,可以执行重定向并传递URL参数,例如?hideVersionMainContent = true并执行隐藏服务器端。
还有其他方法可以完成任务,但这应该会给你一些想法。
答案 4 :(得分:0)
location.replace
之后的代码在您离开的页面上运行(如果它一直运行;将location
导航更改为远离页面,可能会在那里终止你的代码)。
您需要传递信息以显示到新页面,并在新页面上填写代码以填充统计信息。有很多方法可以做到这一点:
sessionStorage
可能会有意义)