ajax后退解决方案(一)

来源:互联网 发布:三一学院 知乎 编辑:程序博客网 时间:2024/06/06 15:54
 

一、使用iframe,通过document.write产生历史

view sourceprint?
01<!DOCTYPE html>
02<html>
03<head>
04    <meta charset="utf-8"/>
05    <title>0</title>
06</head>
07<body>
08    <input type="button" value="加1" onclick="add()" />
09    <div id="info" style="border:red 1px solid;width:200px;padding:10px;margin:5px;">0</div>
10</body>
11</html>
12<script src="history-0.1.js"></script>
13<script>
14    var info = document.getElementById('info');
15    var i = 1;
16    function add() {
17        info.innerHTML = i;
18        document.title = i;
19        var data = {
20            param : i,
21            func : func
22        };
23        History.push(data);
24        i++;
25    }
26      
27    History.push({param:0, func: func});
28      
29    function func(i) {
30        info.innerHTML = i;
31        document.title = i;
32    }
33</script>

点击按钮后更新页面DOM(模拟ajax提交),会发现浏览器后退按钮可用了。点击后退,可返回到前一个状态。

这种方式缺点是只支持IE和Firefox。

history-0.1.js

分类: ajax/sjax
 

 

原创粉丝点击