关于Ajax在浏览器中产生前进后退的实现方法
2013-07-05 11:53
537 查看
转自:http://js8.in/311.html
关于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函数处理返回的信息。
对框架中的src进行处理,运行父窗口中的函数wHistory.callback();
测试中使用的浏览器:IE6+ ,FF, Opera10 ,Safari4,chrome欢迎大家测试其他版本的浏览器,发现问题及时提出
演示地址:http://js8.in/mywork/ajax_history_demo
下载地址:http://js8.in/uploads/soft/ajax_history_demo.rar
关于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函数处理返回的信息。
History.html中代码解释
对框架中的src进行处理,运行父窗口中的函数wHistory.callback();测试中使用的浏览器:IE6+ ,FF, Opera10 ,Safari4,chrome欢迎大家测试其他版本的浏览器,发现问题及时提出
演示地址:http://js8.in/mywork/ajax_history_demo
下载地址:http://js8.in/uploads/soft/ajax_history_demo.rar
相关文章推荐
- 几种方法实现ajax请求内容时使用浏览器后退和前进功能
- 几种方法实现ajax请求内容时使用浏览器后退和前进功能
- 一个简单的例子看明白如何利用window.location.hash实现ajax操作时浏览器的前进/后退功能
- 一个简单的例子看明白如何利用window.location.hash实现ajax操作时浏览器的前进/后退功能
- ajax实现浏览器前进后退-location.hash与模拟iframe
- Ajax请求如何实现页面无刷新前进后退,将ajax请求保存至浏览器历史记录
- 关于ajax支持浏览器后退前进的做法
- 让浏览器记住ajax请求并能前进和后退方法(一)
- 一个简单的样例看明确怎样利用window.location.hash实现ajax操作时浏览器的前进/后退功能
- 谈谈HTML5中的history.pushSate方法,弥补ajax导致浏览器前进后退无效的问题
- pushState()、popstate事件配合ajax实现浏览器前进后退页面局部刷新
- 【转】实现AJAX下的浏览器 前进按钮/后退按钮,详解
- location的hash部分和使用window.onhashchange实现ajax请求内容时使用浏览器后退和前进功能
- javascript history对象(历史记录)使用方法(实现浏览器前进后退)
- javascript history对象(历史记录)使用方法(实现浏览器前进后退)
- 让浏览器记住ajax请求并能前进和后退方法(一)
- 系统通过浏览器后退到登录页面,然后禁止通过前进登录的实现
- html5新特性:利用history的pushState等方法来解决使用ajax导致页面后退和前进的问题
- AJAX 网页保留浏览器前进后退等功能
- Ajax程序中,自己实现页面前进、后退、与标签功能(asp.net2.0)