我建立了一个网站,专注于仅加载必须加载的数据。
我在这里构建了一个示例,想知道这是否是构建wegpage的好方法。
建立类似的网站时会遇到一些问题,例如

  • 添加书签
  • 中来回移动
  • 历史SEO(因为内容基本上没有真正连接)

  • 所以这是例子:

    index.html
    <html>
    <head>
    <title>Somebodys Website</title>
      <!-- JavaScript -->
      <script type="text/javascript" src="jquery-1.3.2.min.js"></script>
      <script type="text/javascript" src="pagecode.js"></script>
    </head>
    <body>
    <div id="navigation">
    <ul>
        <li><a href="#" class="nav" id="link_Welcome">Welcome</a></li>
        <li><a href="#" class="nav" id="link_Page1">Page1</a></li>
    </ul>
    </div>
    <div id="content">
    </div>
    </body>
    </html>
    

    pagecode.js
    var http = null;
    $(document).ready(function()
    {
    // create XMLHttpRequest
    try {
        http = new XMLHttpRequest();
    }
    catch(e){
        try{
            http = new ActiveXObject("MS2XML.XMLHTTP");
        }
        catch(e){
            http = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    // set navigation click events
    $('.nav').click(function(e)
      {
        loadPage(e);
      });
    });
    
    function loadPage(e){
      // e.g. "link_Welcome" becomes "Welcome.html"
      var page = e.currentTarget.id.slice(5) + ".html";
    
      http.open("POST", page);
      http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      http.setRequestHeader("Connection", "close");
      http.onreadystatechange = function(){changeContent(e);};
      http.send(null);
    }
    
    function changeContent(e){
      if(http.readyState == 4){
        // load page
        var response = http.responseText;
        $('#content')[0].innerHTML = response;
      }
    }
    

    Welcome.html
    <b>Welcome</b>
    <br />
    To this website....
    

    如您所见,我正在基于导航部分中的链接ID加载内容。因此,要使“Page1”导航项可链接,我将不得不创建一个包含某些内容的“Page1.html”文件。

    这种为网页加载数据的方式是否非常错误?如果是这样,还有什么更好的方法呢?

    谢谢你的时间

    编辑:

    这只是一个非常简短的示例,我想说的是,对于禁用了javascript的用户,仍然有可能以静态形式(另外)提供整个页面。
    例如
    <li><a href="static/Welcome.html" class="nav" id="link_Welcome">Welcome</a></li>
    

    并且此Welcome.html将包含基本index.html文件的所有开销。
    这样,使用页面版本的Ajax会具有某种额外的功能,不是吗?

    最佳答案

    不,这不是一个好方法。

    Ajax是最适合轻触的工具。

    使用它重新构造框架只会重新创建所有the problems of frames,除了它用对搜索引擎(以及不支持JS或已禁用JS的其他使用代理)完全不可见的孤立页面替换问题页面。



    不会。用户不会注意到,您会破坏书签,链接共享等功能。

    10-07 19:05
    查看更多