【问题标题】:keeping an element alive? while browsing the site?保持元素活着?浏览网站时?
【发布时间】:2011-08-23 14:25:44
【问题描述】:

我不知道怎么问这个,但我希望有人能帮助我。在浏览网站时,是否有可能让一个元素(即:页脚或某种类型)留在查看器页面中?即使用户更改页面(或点击链接),页脚也不会消失吗?

我希望我的问题很清楚?

谢谢!

【问题讨论】:

  • 这在几年前很流行......但我们的 SEO 专家说“nc... nc, nc ....nc!” (AJAX)
  • 不,你没问题,我只想说,在某些情况下,如果你介意 SEO,Ajax 并不是最喜欢的方法。 (nc = nooo!)
  • 哈哈 icic。因为如果你看脸书。他们的聊天似乎是您更改页面时不会加载的聊天。我希望能够做这样的事情。我还没有尝试过其他的 cmets,但是如果我有一个大站点,似乎它可能还不够?

标签: php jquery load


【解决方案1】:

实现这一点的方法是,当有人单击您网站周围的链接时,通过 AJAX/jQuery 加载所有内容。

你要找的东西如下:

    <HTML>
    <HEAD>
    <SCRIPT src="jquery.js"></SCRIPT>

    <SCRIPT>
    function getPage(page) 
    { 
    $("#mainContent").load(page); 
    } 
    </SCRIPT>
    </HEAD>
    <BODY>
    <DIV>
    <a href="Javascript:getPage('aboutus.html')">About Us</a>
    <a href="Javascript:getPage('contactus.html')">Contact Us</a>
    </DIV>

    <DIV id="mainContent">
    Here is the default/home page information
    </DIV>
    </BODY>
    </HTML>

链接页面只需要包含核心信息,并且会自动获得登陆页面的任何css信息。但是,您将在页面上拥有静态的 mainContent div 标记之外的菜单和任何内容。

【讨论】:

    【解决方案2】:

    您可以使用 iframe 来显示您的网站,并将页脚保留在实际文件中。不过这也有缺点,所以不推荐。

    您也可以使用 AJAX 来加载您的页面,这是一种更合乎逻辑的方法。

    【讨论】:

      【解决方案3】:

      正如 Joe 所提到的,框架是一种选择,但这些天他们不赞成。

      另一种选择是使用 AJAX。这比框架更复杂,但会带来更好的体验。基本上,您要做的是加载初始页面,这也会加载一些 JavaScript。 JavaScript 将附加到任何链接。当点击链接时,JavaScript 不会像普通链接那样转到新页面并刷新整个页面,而是将新页面加载到当前页面中。将要加载的其他页面将只是部分 HTML 页面,即不包括 html、head、body 标记和菜单等。而是只有内容。

      这里有一些基本的 JavaScript 使用 jQuery 来做到这一点:

      // attach a click handler to any nav links
      $('nav a').click(function(event) {
          event.preventDefault();
      
          $('#content').load($(this).attr('href'));
      });
      

      另一个选项是在隐藏的 div 中加载其他页面的所有内容。如果您有很多内容,这可能会导致非常大的初始负载。在这种情况下,您的 HTML 中会有类似的内容:

      <style>
           .content { display:none; }
      </style>
      <nav>
          <a href="home">home</a>
          <a href="contact">contact</a>
      </nav>
      <div class="content content_home" style="display:inherit;">...</div>
      <div class="content content_contact">...</div>
      
      // attach a click handler to any nav links
      $('nav a').click(function(event) {
          event.preventDefault();
      
          $('.content').hide().filter('.content_' + $(this).attr('href'));
      });
      

      希望这会有所帮助。

      【讨论】:

        【解决方案4】:

        做到这一点的唯一真正方法是使用 ajax 加载页面。所以你将有一个大 div 将包含它里面的所有东西,除了页脚。然后当有人点击你的大 div 内的链接时,它会抓取链接的页面,并用新页面刷新大 div。其他答案更详细,这只是一个非常简单的解释。我会开始研究 Ajax。

        【讨论】:

          【解决方案5】:

          我认为您正在寻找 HTML 框架。互联网上有很多资源。这是一个,http://www.w3schools.com/html/html_frames.asp

          【讨论】:

          • -1 用于建议框架,另一个用于指向 w3schools。框架已弃用 iirc。
          • 嘿嘿嘿嘿陆道! +100 给你 ;)
          猜你喜欢
          • 1970-01-01
          • 2022-01-25
          • 2013-01-01
          • 2012-09-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多