冲到客户端网友面前,将其敲昏,迅速在url上输入一个新的地址(千万不要回车,即使回车了,他也不知道会,处于昏迷中),等他醒来,哇,好神奇,url变了,页面居然没刷新。

解决方案 »

  1.   

    锚另外就只有https://developer.mozilla.org/en/DOM/window.history
    不过IE6就不要想了
      

  2.   

    那你何必用ajax呢,直接跳转不得了,url肯定是会变的
      

  3.   

    做整站无刷新的话,你ajax调用过来的这些页就要确保只有内容,而没有头尾边栏等一大堆不相干的元素(除非你愿意调过来再截取,但这样就没有多少ajax的必要了),
    但是做成纯内容的话,从搜索引擎过来的人直接进入内容页的话就不知道东南西北了。好吧,假如你要做的是一个内部系统,不考虑搜索引擎的问题,除了首页入口外,别人通常不会直接访问内页,
    现在就要用锚点来做整站无刷新了,这样ajax的时候,页面就只有锚点在变化了,比如,
    假设我现在有四个HTML页面,
    ajaxhome.htm 是ajax的入口主页,其它三个是内页<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>ajax整站入口页</title>
        <script type="text/javascript" src="jquery-1.6.4.min.js"  ></script>    
        <script type="text/javascript" >
        var ahref;
            function convertAtoAjax(o) {
                $(o).find("a").each(function() {
                    $(this).attr("href", "#" + $(this).attr("href"));
                    $(this).click(function() {
                    ahref = $(this).attr("href");
                        getajax();
                    });
                });
            }        function getajax() {
                $.get(ahref.substr(1), function(data) {
                    $("#content").html(data);
                    convertAtoAjax("#content");
                });
             }         $(document).ready(function() {
                 convertAtoAjax("body");
                 var r = window.location.href.match(/#.*$/);
                 if (r) {
                     ahref = r[0];
                     getajax();
                 }
             });
        </script>
        <style type="text/css" >
        #content{border:1px solid red;}
        </style>
    </head>
    <body>
    <div id="nav">
    <a href="ajax1.htm">页1</a>
    <a href="ajax2.htm">页2</a>
    </div>
    <div id="content">welcome to ajax home</div>
    </body>
    </html>ajax1.htm 全部HTML代码,注意没有头尾和任何输助信息,只是纯内容,其它两个内页也是一样<h1>This is page 1</h1>
    <p><a href="ajax3.htm">From page 1 to page 3</a></p>ajax2.htm 全部html 源码<h1>这是页面二</h1>ajax3.htm 全部html 源码<h1>hello world,这是内页3</h1>
    现在这样就其实了整站ajax,但是有的同学就说了,用iframe不行吗,为什么要用ajax。
    仔细一想,确实是这样,作为系统不考虑SEO什么的只考虑功能话,调用ajax这种方法和用iframe好象真没什么区别。
      

  4.   

    另纠正上面说的一点不足,seo的话,ajax也是不考虑的,
    iframe 好过ajax的是,可以直接运行里面的脚本,可以跨站。
    ajax胜在能对响应状态做更多的控制
      

  5.   

    再点击的同时 location.href='你的网址'