本文参考:利用location的hash值来解决Ajax两大难题

本人javascript初学者...ajax乱用者是也...

有说的不对的地方...希望大家多多拍砖...

这几天都被这样一个问题所困扰着...

问题大致描述

页面中放置两个div...分别为 A层 和 B层...
页面初始加载时只显示A层...
有个Button利用JS操控,可将A层切换显示B层...
在显示B层的情况下...也可以切换显示A层
要求根据当前页面显示的层,刷新后保持...
即:如果当前显示是B层,刷新后显示仍然为B层...

截至到今天下午我想到的解决方案只有三种(只实现了其中第一种):

一:js操控cookie,切换层时,在cookie中保存当前页面状态。然后onload事件中读取出cookie的值。

借此来控制刷新显示的层。

二:session,凭借想象这种方法应该可以,不过考虑会增加服务器的负荷...放弃之...

三:viewstate,由于需要用ajax传向后台...这个实现过程也仅仅是想了想而已...

以上三种方法都有局限性...所以有了以下方法...

在这里...感谢给与我帮助的几位前辈...(牛人啊...都是...小弟佩服...)

由Gmail中来的灵感...在Gmail使用中发现...当点击收件箱时,页面没有刷新...地址栏的地址会变成http://domian/#inbox

然后刷新之后就能返回到刚刚的收件箱中了...而不是像网易邮箱那样回到了首页...

于是开始问google...这个#就是锚点...常用于网页定位...原来我也是个HTML初学者...

然后还得到了参考文章的链接...

于是后面的过程很简单了...

切换层时...在地址栏上面加上锚点 #adiv or #bdiv

onload事件中判断...这样算是比较完美的解决了...

关于锚点的其他作用...参考文章有所介绍...不重复介绍...

大家共同进步...

PS.google的javascript写的牛啊...前天见识了下google日历...今天又见识了Gmail...还有首页那个华丽的导航条...

googleは神様です。

转载于:https://www.cnblogs.com/TimLeaf/archive/2008/09/01/1281544.html

活用锚点解决的问题(由一个简单应用想到的许多)相关推荐

  1. opengl中的Floatbuffer和IntBuffer与java中数据的存储方式不同的解决方法,编辑一个自己的BufferUtil工具类

    opengl中的Floatbuffer和IntBuffer与java中数据的存储方式不同的解决方法,编辑一个自己的BufferUtil工具类 参考文章: (1)opengl中的Floatbuffer和 ...

  2. 解决fatal: 不是一个 git 仓库(或者任何父目录)的方法

    dd 今天第一次用git log,出现了 不是一个 git 仓库(或者任何父目录) 这个错误,上网查了一下 其实解决这个错误非常的简单,只需要执行一条命令即可!如下: git init

  3. nsa构架_我如何使用NSA的Ghidra解决了一个简单的CrackMe挑战

    nsa构架 by Denis Nuțiu 丹尼斯·努尤(Denis Nuțiu) 我如何使用NSA的Ghidra解决了一个简单的CrackMe挑战 (How I solved a simple Cra ...

  4. ssh框架从页面传中文发生乱码时怎么解决,就是添加一个字符编码拦截器。用springframework自带的便可...

    ssh框架从页面传中文发生乱码时怎么解决,就是添加一个字符编码拦截器.用springframework自带的便可 转载于:https://www.cnblogs.com/oymx/p/3976392. ...

  5. 一个简单的解决方法:word文档打不开,错误提示mso.dll模块错误。

    一个简单的解决方法:word文档打不开,错误提示mso.dll模块错误. 参考文章: (1)一个简单的解决方法:word文档打不开,错误提示mso.dll模块错误. (2)https://www.cn ...

  6. 用Python解决一个简单的数论问题——x分解为a^2+b^2

    考虑一个简单的数论问题,当 x 是正整数,如果可以表示为 x=a^2+b^2,让我们去求出 a 和 b 的值.显然用计算机暴力循环 x 次求解是一种可行的办法,但是当 x 为一个较大的数时,我们要浪费 ...

  7. 订阅号服务器消息推送数量,如何解决微信公众号一个月只能发4次消息的问题...

    如何解决微信公众号一个月只能发4次消息的问题 发布时间:2021-01-19 09:49:16 来源:亿速云 阅读:120 作者:小新 这篇文章将为大家详细讲解有关如何解决微信公众号一个月只能发4次消 ...

  8. win7忘记密码怎么办,Administrator忘记密码解决办法【完美、简单、有效】

    win7忘记密码怎么办,Administrator忘记密码解决办法[完美.简单.有效] 2012年06月12日  ⁄ 发现分享  ⁄ 评论数 1 今天同学的电脑登陆密码忘记了,win7操作系统,向我来 ...

  9. win10和ubuntu18.04双系统解决罗技k380用一个频道无缝连接

    win10和ubuntu18.04双系统解决罗技k380用一个频道无缝连接 ubuntu18.04中设置 win10系统下设置 不知道你是因为什么采用了linux和win10双系统,但是如果你恰好也有 ...

  10. android 平板一直开机内存不足,手机天天提示内存不足,解决这个问题其实很简单...

    原标题:手机天天提示内存不足,解决这个问题其实很简单 如今生活处处离不开手机,手机带给我们太多便利了,除了最基本的通话功能,大家最常用的就是上网看片,浏览网站,玩游戏.微信.QQ等各种APP,大量的A ...

最新文章

  1. IntelliJ IDEA 常用设置注释提示
  2. python如何处理异常,让程序不结束继续运行?
  3. 云效故障定位研究论文被ICSE 2021 SEIP track收录
  4. 用oracle的ODP.NET创建实体数据模型
  5. android相对布局代码,Android基础_3 Activity相对布局(示例代码)
  6. linux把2块盘挂到一个分区,linux系统如何挂载第二块硬盘
  7. 基于TCP/IP的文件服务器编程一例
  8. 如何保证MongoDB的安全性? 1
  9. 联影uEXPLORER全身扫描仪获FDA批准,2019年初将在美国上市...
  10. html溢出部分纵向滚动,html - 无法滚动到溢出包含的flex项目的顶部
  11. python爬取京东数据加载失败_Python爬取京东商品数据
  12. 场内玩家追赶,场外玩家乐此不疲,场内场外谁主沉浮?
  13. 爱普生EPSON打印机 ME1+ (ME1)清零软件及方法
  14. start()和run()方法的区别
  15. 知识付费资源变现小程序源码+可开流量主/带教程
  16. SpringBoot的Banner
  17. Java面试题(大内)3
  18. OpenCV开发笔记(四十一):红胖子8分钟带你深入了解scharr滤波器算子边缘检测(图文并茂+浅显易懂+程序源码)
  19. Windows10无法完成更新 正在撤销更改怎么解决转载
  20. python ---input()函数、前几篇知识点总结

热门文章

  1. 数据绑定的优点_轻松应对海量数据,TiDB 在车好多的实践
  2. IT兄弟连 JavaWeb教程 JSP定义
  3. error while loading shared libraries: libtinfo.so.5
  4. tomcat容器启动
  5. unity3d shader 自定义光照函数
  6. 安装libgl1-mesa-dri:i386重启后黑屏问题解决
  7. 内存泄露分析 - 收藏集 - 掘金
  8. Java连接MySQL数据库及简单操作代码
  9. linux mkdir基础命令总结
  10. rails 2.3.5 + jquery ui datepicker 不能显示中文