【问题标题】:Site nav when javascript is disabled禁用 javascript 时的站点导航
【发布时间】:2009-11-03 18:44:15
【问题描述】:

我们有一个在翻转时扩展的导航(基于此代码:http://www.dynamicdrive.com/dynamicindex1/droptabmenu.htm)。

首先,我们应该有一个无 JavaScript 版本的导航吗?

如果是,最好的方法是什么?

【问题讨论】:

    标签: javascript html navigation


    【解决方案1】:

    是的,您应该始终使用非 JavaScript 版本的导航。

    做到这一点的最佳方法是应用任何使用 javascript 隐藏子菜单的样式 - 因此,如果 javascript 未运行,整个菜单将可见。

    您已链接到的菜单的 HTML 看起来不错 - <ul>s 和 <a>s - 对于蜘蛛或非 JavaScript 用户来说非常容易阅读。

    【讨论】:

    • 看起来不错,但是 CSS 类默认为“隐藏”,所以当我在 javascrip-disable 上查看它时,只有父项显示。
    • 是的,这就是你需要改变的地方
    • @nute - 将默认值更改为显示并添加新的类名,使用嵌入式 Javascript(在导航上方)为该类添加新的 CSS 规则“显示:无;”启用 Javascript 的浏览器会在出现之前将导航设置为隐藏(因此不会闪烁),非 JS 浏览器也会看到导航。
    【解决方案2】:

    拥有所有内容的非 Javascript 版本总是一个好主意。

    搜索引擎机器人通常不会解释 Javascript,因此如果没有 Javascript 就无法访问您的网页,则它们可能不会被编入索引。

    sitemap 页面只包含指向您网站上每个静态页面的链接,是确保每个人都可以到达任何地方的最简单方法。

    【讨论】:

      【解决方案3】:

      您可能想使用不显眼的 javascript,这基本上意味着您的 html 页面中没有 javascript,只需加载 javascript 文件。

      现在,如果您从左侧的菜单开始导航,使用 <li> 和锚标记,那么您可以在没有 javascript 的情况下进行一些导航。

      因此,如果您的 javascript 运行,它应该做的第一件事是,当 dom 树准备好时,在导航 div 上设置 display: none 并放入新的、更具交互性的导航栏。

      这样你就可以在没有任何 javascript 的情况下看到它是如何工作的。

      或者,您可以有一条消息告诉他们需要 javascript 并且不执行任何其他操作,但这也会像上面一样被隐藏。

      我更喜欢让事情正常运行,即使它的功能较少,也尽可能不使用 javascript。

      【讨论】:

        【解决方案4】:

        不要误会我的意思:支持没有打开 JavaScript 的浏览器是个好主意,尤其是对于像菜单这样简单的东西。

        但是,如果项目预算中没有它,或者您正在编写的应用程序严重依赖 JavaScript,那么支持它就没有任何意义。

        来自w3cthe counter 的统计数据表明,93% 到 95% 的用户启用了 JavaScript。现在,请注意,这是一个全球人口统计数据。要真正确定它是否值得您花时间和金钱,您应该自己进行统计以确定您的流量/人口统计中启用 JavaScript 的百分比。

        附带说明:出于与人们不再支持 IE 6 类似的原因,我的公司也不再支持 noscript。尤其是在大型 RIA 中,将相同的东西写两次是不切实际的。为一个项目维护两个代码库不是我认为的好时机。但当然,这始终基于客户和目标人群。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-04-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-04-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多