gpt4 book ai didi

java - Ajax导航问题后退按钮

转载 作者:行者123 更新时间:2023-11-28 09:32:16 24 4
gpt4 key购买 nike

我在 Java Spring 框架中有一个基于 Ajax 的选项卡切换应用程序,我必须处理后退按钮场景。通过下面指定的代码成功完成了现在面临的效果是首页加载,而不是针对特定历史记录选择的选项卡出现选项卡切换跳转。如果有人对此提供帮助,那就太好了,谢谢。

var innerTab = "";
function navigateAjaxHtmlSetup(target,response){
if (typeof target == 'undefined')
target = "#ajax-container";
$(target).html(response);
$("input[check-with-select]:checked").parent("label").parent("td").nextUntil(":last").find('select').attr('required', 'required');
$(target).focus();
$("#ajax-loader").hide();
}
function pushStateToHistory(){
var history = window.history;
var location = window.location.pathname;
history.pushState({}, "GHFP", location+activeTabs());
}

function anchorAjaxCall(self,url,state){
$.ajax({
type: 'GET',
url: url,
dataType: "html",
success: function (response) {
var target = self.attr('targeto');
navigateAjaxHtmlSetup(target,response);
if (state)
pushStateToHistory();
// if(innerTab != ""){
// var anchor = $("a#"+innerTab);
// innerTab = "";
// anchorAjaxCall(anchor,anchor.attr('href'));
// }
}
});
}

function activeTabs(){
selectedTabList = $(".tabs-nav a.active");
var activeURL;
if (selectedTabList.length > 0){
activeURL="#";
selectedTabList.each(function(index,el){
activeURL +="/"+$(el).attr('id');
});
}else{
activeURL="";
}
return activeURL;
}

function urlAjaxNavigationHandling(hash){
if (hash.indexOf('/')!=-1)
{
var selectedTabList = hash.substring(1,hash.length).split('/');
var anchor = $("a#"+selectedTabList[1]);
anchorAjaxCall(anchor,anchor.attr('href'),false);
if (selectedTabList.length > 1)
innerTab = selectedTabList[2];
}
}
window.onpopstate = function(e) {
urlAjaxNavigationHandling(window.location.hash);
};

虽然我的问题根本与 Spring 或 Java 无关,但如果有人通过 google 搜索来实现 Ajax 基础应用程序,我只是将它们指定为标记。这可能对他有帮助,因为我在 Spring 框架中没有找到任何对 JQuery 的内置支持(如 Ruby on Rails)

最佳答案

Spring Framework 与 Rails 不同,Grails 更接近 Rails,但与 Groovy 更接近。

您的问题的解决方案基本上是使用浏览器的历史记录,正如您已经在尝试的那样。我唯一可以补充的是你应该看看 HTML5 History API http://diveintohtml5.info/history.html还可以考虑使用像http://backbonejs.org/这样的js框架它已经支持路由器。

关于java - Ajax导航问题后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13602452/

24 4 0
文章推荐: css - 连接多个 div/进度条的自定义 CSS 行
文章推荐: php - 在isset($_GET ['post_id' ]) === true)之后,需要调用Javascript将
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com