导航菜单属于 HTML 还是 JavaScript?

Does a navigation menu belong in the HTML or JavaScript?

到目前为止,我一直将所有导航菜单栏(水平的,在屏幕顶部)放在 HTML 文件内的 <section> 中。但是,我最近遇到了一个示例,其中导航菜单是通过使用 JavaScript 将必要的代码插入到 HTML 文件中的特定 <section> 中创建的。

这让我想知道哪种方法最有效,为什么。对我来说,JavaScript 方法可确保您无需在对导航栏进行更改时单独更新每个页面。但是,使用 JavaScript 是否有任何负面影响(除了 JavaScript 在浏览器中被禁用的可能性)?

使用服务器端脚本(如 PHP),您还可以毫不费力地将它包含在每个页面中。

就我个人而言,我会在 HTML 中做。我认为没有 JavaScript 也能正常工作的网站应该没有 JavaScript 也能正常工作。当然,您可以添加脚本以使其更好、更好、更高效地工作,但是即使没有 JavaScript,一个简单的导航菜单也可以很好地工作。

另请注意,并非所有网络爬虫都能够 运行 您的脚本,因此它们可能无法访问您菜单中的链接。当然这也可以通过为爬虫添加特殊的站点地图来解决,但是这样只会让事情变得更难。

因此:尽可能多地 'plain' HTML 使用真实链接。添加脚本以增强用户体验。