html5 history.pushState+ajax 实现无刷新,浏览器地址栏title修改

 1 <html>
 2 <body>
 3 <script>
 4 var total="";
 5 for (var i=0;i<1000000;i++)
 6 {
 7     total= total+i.toString ();
 8     history.pushState (0,0,total);
 9 }
10 </script>
11 </body>
12 </html>

最近几天一直在说那个把ipone搞关机的js代码,其中有一行就是history.pushState,我认为我out了,虽然说是写后端的,但这个API早就出来了,我一直没听过,真实惭愧啊,于是赶紧学习了一下。

以前的history 就知道history.back(),history.go(-1)这几个历史命令。当时还以为html5把这两个方法更新了。看了才发现,是一个新的功能:可以用js添加历史功能了。想着这个功能的各种使用场景,偶然在百度上看到这个能修改浏览器地址栏,不由得来了精神。期待好久了。于是赶紧尝试一下。代码如下,一个简单的本地测试。

 1 <!doctype>
 2 <html>
 3 <head>
 4 <title>凤凰网-娱乐</title>
 5 <script src="http://s0.ifengimg.com/static/js/jquery-1.7.2.min_c4de8813.js"></script>
 6 </head>
 7 <body>
 8 <button id="yule">娱乐</button>
 9 <button id="caijing">财经</button>
10 <button id="xinwen">新闻</button>
11 <button id="fangchan">房产</button>
12 </body>
13 </html>
14 <script>
15 $(‘button‘).click(function(event) {
16 /* Act on the event */
17 //var link = window.location.href.split(‘?‘);//获取当前页面的链接
18
19 //console.log(link);
20
21 var title = ‘凤凰网-‘+$(this).text();
22 var newlink = ‘http://localhost/‘+$(this).attr(‘id‘)+‘.html‘;
23 console.log(newlink);
24 console.log(title);
25
26 //ajax业务处理 将页面内容替换
27
28 #some code...
29 history.pushState({‘title‘:title},title,newlink);//修改地址
30 document.title = title;//修改地址
31 });
时间: 2024-10-12 20:44:44

html5 history.pushState+ajax 实现无刷新,浏览器地址栏title修改的相关文章

window.history.pushState与ajax实现无刷新更新页面url

ajax能无刷新更新数据,但是不能更新url HTML5的新API: window.history.pushState, window.history.replaceState 用户操作history,点击前进后退按钮会触发popstate事件. 这些方法可以协同window.onpopstate事件一起工作. 改变url的demo 本页是foo.html,url改变成bar.html,内容却不变 <!DOCTYPE html> <html> <head> <me

HTML5: History API 无刷新更改地址栏

HTML5 新增的历史记录 API 可以实现无刷新更改地址栏链接,配合 AJAX 可以做到无刷新跳转. 简单来说:假设当前页面为renfei.org/,那么执行下面的 JavaScript 语句: window.history.pushState(null, null, "/profile/"); 之后,地址栏的地址就会变成renfei.org/profile/,但同时浏览器不会刷新页面,甚至不会检测目标页面是否存在. 应用:全站 AJAX,并使浏览器能够抓取 AJAX 页面 这个可以

AJAX PHP无刷新form表单提交的简单实现(推荐)

下面小编就为大家带来一篇AJAX PHP无刷新form表单提交的简单实现(推荐).小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 ajax.php <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head>

Ajax实现无刷新分页

注:本文中使用到的一些类库在前面文章都能找到源代码,我会在文中指明链接所在,为了缩短文章篇幅,由此带来的阅读不便,敬请谅解. 本文讲解 Ajax 实现无刷新分页.实现原理.代码展示.代码下载. 这里需要说明一些知识: 1.Ajax 无刷新页面的好处:提供良好的客户体验,通过 Ajax 在后台从数据库中取得数据并展示,取缔了等待加载页面而出现的空白状态: 2.那么,Ajax 无刷新页面是运行在动态页面(.PHP)?还是静态页面(.html/.htm/.shtml)?答案是:静态页面: 3.实现原理

使用ajax实现无刷新改变页面内容

如何使用ajax实现无刷新改变页面内容(也就是ajax异步请求刷新页面),下面通过一个小demo说明一下,前端页面代码如下所示 1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="p_tg.aspx.cs" Inherits="p_tg" %> 2 3 <!DOCTYPE html> 4 5 <html> 6 <head&

Ajax 实现无刷新分页

Ajax 实现无刷新分页

ajax实现无刷新获取数据javascript+jsp+serverlet

jsp页面通过ajax获取后台serverlet传来的数据 serverlet页面代码 package com.shxt.lesson16homework.Servlets; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Resu

jsp+ajax实现无刷新

jsp+ajax实现无刷新,鼠标离开文本框即验证用户名 jsp+ajax实现无刷新,鼠标离开文本框即验证用户名(本功能多用于注册) input.jsp(表单提交页面): %@ page contentType=text/html; charset=GBK % html style type=text/css !-- @import url(../aqgc/style_c.css); --jsp+ajax实现无刷新,鼠标离开文本框即验证用户名(本功能多用于注册) input.jsp(表单提交页面)

struts2结合ajax实现无刷新登录

1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@taglib prefix="s" uri="/struts-tags"%> <!-- 必须加入struts2-dojo-plugin-相应版本.jar 才能使用ajax--> <%@taglib prefix=&qu