让Ajax网页带有后退功能

原创 2006年06月16日 14:59:00

在AJAX做了一个项目后,测试人员告诉我,新闻列表翻了很多页后,当查看过一条新闻的详细信息返回目录的时候,不能返回到已经翻过的页码,而要从第一页重新翻,这样很郁闷。网上面找到一篇<开发保留标准浏览器功能的AJAX应用程序>的文章,按照里面的介绍,把响应的代码节选出来,保留在这里。

我实现原理是:每翻一次页,把当前的页码存入碎url的碎片标识中,待客户查看完详细信息后返回到目录,在目录的body的onload事件执行setOptionValue,将碎片的内容获取下来,再执行读取目录的函数;以达到保存翻页信息的功能。

//使用URI的碎片标识符部分,创建状态的历史记录;
function makeHistory(newHash)
{
  window.location.hash = newHash;
  expectedHash = window.location.hash;
  alert(expectedHash);
  return true;
}
//检查浏览器历史记录中的URI
function handleHistory()

  if ( window.location.hash != expectedHash )
  {
     alert(window.location.hash + "|" + expectedHash);
    expectedHash = window.location.hash;
    var newoption = expectedHash;
    setOptionValue( newoption );
  }
  return true;
}

function pollHash() {
  handleHistory();
  //window.setInterval("handleHistory()", 1000);
  return true;
}

//获取碎片中的内容,可进行任何操作
function setOptionValue(value)
{
//  var myForm = document.make_history;
//  var mySelect = myForm.change_year;
//  mySelect.options[value-1].selected = true;
    document.getElementById("testDiv").innerHTML = value.replace('#','');
    Test(value.replace('#',''));
    alert(value.replace('#',''));
  return true;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

让浏览器记住ajax请求并能前进和后退方法(一)

在我们浏览不同网页的时候,我们可以通过浏览器的前进、后退键来去到我们前后访问过的页面。这都有一个共同点,就是 浏览器地址栏的地址改变了。浏览器自身维护了一个记录用户访问页面历史的栈,栈中记录了用户访...

网页如何防止刷新重复提交与如何防止后退的解决方法

提交后禁用提交按钮(大部分人都是这样做的) 如果客户提交后,按F5刷新怎么办? 使用Session 在提交的页面也就是数据库处理之前: if session("ok")=true then ...

几种方法实现ajax请求内容时使用浏览器后退和前进功能

我们可以利用ajax进行无刷新改变文档内容,但是没办法去修改URL,即无法实现浏览器的前进与后退、书签的收藏功能。 利用location的hash部分和使用window.onhashchange来实现...
  • wkyseo
  • wkyseo
  • 2016-06-17 14:35
  • 4546

pushState()、popstate事件配合ajax实现浏览器前进后退页面局部刷新

用ajax,pushState(),popstate实现浏览器前进后退页面局部刷新

AJAX的刷新和前进后退问题解决

使用AJAX开发分页功能的时候,用户跳转到第5页,但是刷新以后又显示第一页了,能不能刷新后还显示第5页?还有能不能用浏览器的前进后退按钮来浏览AJAX历次的变化。 因为Javascript对do...

AJAX 网页保留浏览器前进后退等功能

在一些AJAX被大量使用的页面,有时都不太敢刷新,因为刷新以后可能看到的是和原来有很大不同的页面。暂不讨论在某些页面内容大量更新的情况下是否该使用AJAX的问题,本文简单说一下保留浏览器前进、后退、刷...

一个简单的例子看明白如何利用window.location.hash实现ajax操作时浏览器的前进/后退功能

我们知道JavaScript中很早就提供了window.history对象,利用history对象的forward()、go()、back()方法能够方便实现不同页面之间的前进、后退等这种导航功能。但...

使用history.pushState()和popstate事件实现AJAX的前进、后退功能

上一篇文章中,我们使用location.hash来模拟ajax的前进后退功能。使用location.hash存在下面几个问题: 1.使用location.hash会导致地址栏的url发生变化,用户体验...

ajax两个网页实现完美的 分页功能

分页的首页 武侠小说分页 var page='';   function init(page){   document.getElementById("tables").inn...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)