【发布时间】:2009-11-03 18:44:15
【问题描述】:
我们有一个在翻转时扩展的导航(基于此代码:http://www.dynamicdrive.com/dynamicindex1/droptabmenu.htm)。
首先,我们应该有一个无 JavaScript 版本的导航吗?
如果是,最好的方法是什么?
【问题讨论】:
标签: javascript html navigation
我们有一个在翻转时扩展的导航(基于此代码:http://www.dynamicdrive.com/dynamicindex1/droptabmenu.htm)。
首先,我们应该有一个无 JavaScript 版本的导航吗?
如果是,最好的方法是什么?
【问题讨论】:
标签: javascript html navigation
是的,您应该始终使用非 JavaScript 版本的导航。
做到这一点的最佳方法是应用任何使用 javascript 隐藏子菜单的样式 - 因此,如果 javascript 未运行,整个菜单将可见。
您已链接到的菜单的 HTML 看起来不错 - <ul>s 和 <a>s - 对于蜘蛛或非 JavaScript 用户来说非常容易阅读。
【讨论】:
拥有所有内容的非 Javascript 版本总是一个好主意。
搜索引擎机器人通常不会解释 Javascript,因此如果没有 Javascript 就无法访问您的网页,则它们可能不会被编入索引。
sitemap 页面只包含指向您网站上每个静态页面的链接,是确保每个人都可以到达任何地方的最简单方法。
【讨论】:
您可能想使用不显眼的 javascript,这基本上意味着您的 html 页面中没有 javascript,只需加载 javascript 文件。
现在,如果您从左侧的菜单开始导航,使用 <li> 和锚标记,那么您可以在没有 javascript 的情况下进行一些导航。
因此,如果您的 javascript 运行,它应该做的第一件事是,当 dom 树准备好时,在导航 div 上设置 display: none 并放入新的、更具交互性的导航栏。
这样你就可以在没有任何 javascript 的情况下看到它是如何工作的。
或者,您可以有一条消息告诉他们需要 javascript 并且不执行任何其他操作,但这也会像上面一样被隐藏。
我更喜欢让事情正常运行,即使它的功能较少,也尽可能不使用 javascript。
【讨论】:
不要误会我的意思:支持没有打开 JavaScript 的浏览器是个好主意,尤其是对于像菜单这样简单的东西。
但是,如果项目预算中没有它,或者您正在编写的应用程序严重依赖 JavaScript,那么支持它就没有任何意义。
来自w3c 和the counter 的统计数据表明,93% 到 95% 的用户启用了 JavaScript。现在,请注意,这是一个全球人口统计数据。要真正确定它是否值得您花时间和金钱,您应该自己进行统计以确定您的流量/人口统计中启用 JavaScript 的百分比。
附带说明:出于与人们不再支持 IE 6 类似的原因,我的公司也不再支持 noscript。尤其是在大型 RIA 中,将相同的东西写两次是不切实际的。为一个项目维护两个代码库不是我认为的好时机。但当然,这始终基于客户和目标人群。
【讨论】: