关于Ajax在浏览器中产生前进后退的实现方法
作者:Theo Wong 来源:cssrain 发布时间:2010-01-29 13:01:00
关于Ajax在使用中要使浏览器产生前进后退的方法,网上比较多的方法有两种:一是采用hash值的方式,这是我们在地图preview版中使用的方法(采用jQuery的history插件);二是使用iframe的方法,目前百度地图、Google地图采用。为使我们以后的mymap方便引用到博客等网页内容中去,并且给地图添加复制链接的方法,我们决定把地图中Ajax在浏览器产生前进后退的方法改变为iframe的方法。
现的机制
主要使用的两个html:index.html,history.html(iframe src地址)。
主要代码参考index.html以及history.html的js部分:
在说说实现的方式
Index.html中代码解释:
wHistory.init();
给body插入iframe跟一个表单(主要用于Safari浏览器、或者其他特殊使用,比如复制地址方面,直接取值input的value即可,不需要处理,而取iframe的src还要进行字符串的处理)
判断是否为Safari浏览器,如果是则特殊处理一下,根据不同的浏览器定义main函数
Callback函数处理返回的信息。
istory.html中代码解释
对框架中的src进行处理,运行父窗口中的函数wHistory.callback();
测试中使用的浏览器:IE6+ ,FF, Opera10 ,Safari4,chrome欢迎大家测试其他版本的浏览器,发现问题及时提出
演示地址:ajax_history_demo
远程下载地址:ajax_history_demo.rar(1.29 KB)
本站下载地址:ajax_history_demo.rar (1.29 KB)
猜你喜欢
- 网上广泛流传的取 object 的绝对位置的做法是:var getAbsPos = function(pTar
- 当你链接到应用程序以使用MySQL客户端库时,可能会遇到以mysql_开始的未定义引用错误,如下所示:/tmp/ccFKsdPa.o: 在函
- 1、关于页面元素的引用通过jquery的$()引用元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等方法,且
- 介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。 摘 要
- User Centered Design 以用户为中心的设计,一说到这个很多人马上想到互联网和软件的设计,因为在IT、互联网行业提得最多。其
- 有两个结构完全相同的表,由其中一个表插入另一个表中指定条件的数据,报如下错误: 仅当使用了列列表并且 IDENTITY_INSERT 为 O
- 本文通过一个详细的例子,来阐述了在线编辑XML文档数据的方法。由于Netscape对XML的支持比较弱,因此,要实现跨平台的数据交换,数据的
- 什么是1433端口 1433端口,是SQL Server默认的端口,SQL Server服务使用两个端口:TCP-1433、UDP-1434
- 是在客户端确认还是在服务器端确认? <SCRIPT LANGUAGE="VBSc
- 上次在blueidea上看到一个元素圆角的实现方法,但是那个太复杂了。于是就自己写了一个函数,可以将元素自动圆角,如div层,表格等。共有四
- CSS入门很简单,规则不多,写法也比较灵活,因此也带来了很多有创意的写法。跟IE一样,很好的容错性,像《 边框样式写法总结 》所说的bord
- 相信大家从去年圣诞节开始,逐渐发现淘宝网首页的标志开始有了新的形式,从过往的静态图片节日LOGO变成了FLASH的动画小故事LO
- Wordpress 2.6.2 出来了,今天将网站程序从2.6升级上来,比较了一下2个版本的代码,发现2.6的版本中的代码还有几个地方出现了
- 所谓天赋(左脑和右脑)也就是你是否有艺术天赋,天赋也许是存在的,这主要在于人类左右脑的分工。左脑主要负责逻辑理解、语言、判断、分类、分析、推
- 简洁的隐藏垂直菜单在hover时将内容展开。这样的效果在JS里有很多个版本,但这个可以说是绝无仅有的CSS版本。此菜单可以在IE5.5,IE
- 代码如下:'文字水印 Function WordWatermark(ImagePath) Dim&nb
- Oracle LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻松获得Oracle 重作日
- 备注:Ken Henderson 从开发者的角度来阐述了SQL SERVER 2000内存管理的内部机制简介在本专栏中,我们将从一个开发者的
- <1>IsArray 函数 返回 Boolean 值指明某变量是否为数组。 语法 IsArray(var
- Expires 属性 Expires 属性指定了在浏览器上缓冲存储的页距过期还有多少时间。如果用户在某个页过期之前又回到此页,就会显示缓冲区