window.history 和 DWZ 框架

DWZ框架的ajax请求返回的一般都是一个HTML片段,整个页面是由一个个HTML片段组成的,可以由TAB切换其内容,但是只有一个body和HEAD,一般head 和 菜单栏是不会动的。

今天遇到一个问题,当一个点击进入一个tab页面时,这个tab页的布局完全和其他页面的tab页面不一致,也就是其菜单栏和head的内容完全改变了。当用户要返回原来的样式时候,用自己写的JS方法把样式还原可以。但是是页面上的一个button。

当用户用浏览器自带的前进后退返回的时候,问题来了,因为浏览器的前进后退是根据浏览历史的缓存来的(暂且这么理解吧)。这个历史是一个数组来储存的。前进就是显示后一个的历史,后退就是前一个的。当然,都是如果list支持的情况下;

浏览器的前进后退会触发页面的 onunload 和 onbeforeunload 事件 在使用event.returnValue("string")就会弹出你想要的警告。

由于正常的浏览器history是一个个完整的页面,前进后退按钮会触发其onunload等事件,但是DWZ这种框架不会,因为你始终在一个页面上进行操作。当然不会触发onunload等事件。前进后退只会显示历史的HTML片段。

那么,在点击后退后 页面样式变形等问题出现了,使用setInterval 判断这个tab的父元素是否显示来判断是否回到原来页面。样式能还原,但是多前进后退几次就要出现问题。

暂时的解决方法,让其history一直在最后就是每次点击后退返回后让其window.history.go(1);要返回前面的页面。

时间: 2024-10-15 07:48:05

window.history 和 DWZ 框架的相关文章

关于window.history.back()后退问题

Windows下的window.history.back()后退后返回的不仅仅是前一个页而是前一个页的状态.假设一个页我改动了3次那必须后退3次才干回到前一个页.并且数据库中删除的数据依旧显示在上面感觉很的不有用. 解决的方法:history.back()后再加一个reload()这样就能够回到刷新后的页面了 即:history.back();location.reload();假设有框架即在前面加上该框架名就可以 关于window.history.back()后退问题,布布扣,bubuko.c

html5 使用window.history进行页面刷新

//主要行为和方法如下: history.pushState(), history.replaceState() window.onpopstate事件 使用方式 if (!!(window.history && history.pushState))  {       // 支持History API     var stateObj = { foo: "bar" };      history.pushState(stateObj, "page 2&quo

电子商务系统的设计与实现(十):DWZ框架与第三方分页组件整合

晚上,就是刚刚,在后端管理系统中使用DWZ框架. 先是,直接使用官网网站的Demo,dwz-jui,与编程语言无关的纯静态的那个原始项目. 很快就搭建好了左侧菜单,打开菜单后,出现Tab页面,然后显示目标页面的内容. 然后,就去关注表格分页部分. DWZ自带的分页组件,感觉太麻烦了,一方面分页分成了4个部分显示,主要包括:pagerForm,查询条件pagerHeader,分页表格的头部pagerContent,分页表格的正文panleBar,分页条数栏目. 另一方面,分页html和JS中,需要

使用dwz框架配合MVC使用

一直没有时间更新博客,最近有点时间,按照自己的想法,采用DWZ框架,配合MVC架构,准备做一个可配置型的系统,现在初见成效,添加新模块,可以做到0代码,只要在系统中配置就可以.多的话不说了,先来几个界面看看! 写了几年代码,有点厌倦了,就想着如何能代码共用,尽量去少写代码.所以就这样胡乱写的.接下来看看主从界面的效果 如果留言人多,下篇将说具体说明配置界面的操作,如何动态配置界面

DWZ框架Ajax无刷新表单提交处理流程

DWZ框架Ajax无刷新表单提交处理流程是: 1.       ajax表单提交给服务器 2.       服务器返回一个固定格式json结构 3.       js会调函数根据这个json数据做相应的处理 注意: DWZ框架默认的ajax表单提交都是返回json数据,告诉客户端操作是否成功,成功或失败提示信息,以及成功后的处理方式(刷新某个navTab或关闭某个navTab或navTab页面跳转). 表单提交后服务器操作失败了,客户端接收statusCode和message后给出错误提示,表单

window.History

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>History对象</title></head><script type="text/javascript"> var HL = window.hist

CentOS 6.5上搭建Nginx和配置DWZ框架

前言 原创文章欢迎转载,请保留出处. 若有任何疑问建议,欢迎回复. 邮箱:[email protected] 今天搜索了下,发现并没有类似的文章,虽然比较简单,但还是写个博文记录下,主要讲述如何搭建Nginx和配置DWZ框架. 安装Nginx 首先安装Nginx必须要的库,直接yum安装就行了,注意要在root权限下执行. yum install pcre yum install openssl yum install zlib 接下来安装Nginx,为了免得麻烦,我也打算用yum安装,不过由于

javascript:window.history.go(-1)什么意思啊?

javascript:window.history.go(-1)什么意思啊? history是你浏览过的网页的url(简单的说就是网址)的集合,也就是你的浏览器里的那个历史记录.它在js里是一个内置对象,就跟document一样,它有自己的方法,go就是其中一个. 这个方法的参数是一个数字,它指定要定位的url相对当前页面url位置的下标.当前的url下标为0,所以window.history.go(-1)就是要定位到相对当前页面下标为-1的页面,也就是之前刚刚访问的页面. 再举个例子:你在地址

window.history back/go/forward/reload

window.history.go(-1)返回且刷新页面 windows窗口对象(历史)history.go(),history.back(),history.forward(). 因为windows对象引用不是必须的.所以windows.history.go() == history.go()的. go()方法只有一个参数,可以是整数.负数.如果是正数,就前进.负数就是后退.(相当于Forward和Back的区别) 因此,后退一页,可用下面的代码:(后退多页,只需改变go的参数) window