2

我的网站上有一个带有两组选项卡的页面,每个选项卡的链接都是 ajax 驱动的,但在未启用 javascript 的情况下具有适当的 href。我即将使用诸如 jQuery Address 之类的插件来实现一个 ajax '后退按钮' 解决方案。

我对这个解决方案的问题/困惑是,在 javascript 有机会解析哈希并加载正确的内容之前,页面的默认内容仍然被加载。如果我最初隐藏内容,非 JavaScript 用户将永远看不到任何内容。如果我最初不隐藏内容,用户将在更新之前看到错误的页面(除了首先加载错误选项卡然后加载正确选项卡的额外开销)。

处理此问题的最佳/最常见方法是什么?

谢谢,布赖恩

4

2 回答 2

3

如果你使用哈希,你总是首先会得到错误的内容。您需要使用带有 HTML5 History API 的服务器端解决方案来避免这种情况。阅读更多

您可以使用: https ://github.com/browserstate/ajaxify

并让标签在服务器端呈现类似的东西if ( $_GET['tab'] === '2' ) // render 2

于 2011-03-27T20:44:27.197 回答
1

我认为这是一个很好的问题。您是否尝试过使用<noscript>标签来包含显示最初为 JS 用户隐藏的内容的 css。像这样的东西:

<style type="text/css">
  #area-1, #area-2 { display: none; }
</style>

<noscript>
  <style type="text/css">
    #area-1, #area-2 { display: block; }
  </style>
</noscript>

希望这可以帮助!

于 2011-03-27T14:29:39.553 回答