Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
导航菜单属于HTML还是JavaScript?_Javascript_Html_Css_Menu_Navigationbar - Fatal编程技术网

导航菜单属于HTML还是JavaScript?

导航菜单属于HTML还是JavaScript?,javascript,html,css,menu,navigationbar,Javascript,Html,Css,Menu,Navigationbar,到目前为止,我一直将所有导航菜单栏(水平,在屏幕顶部)放在HTML文件中的中。然而,我最近遇到了一个例子,其中导航菜单是通过使用JavaScript将必要的代码插入到HTML文件中的特定中创建的 这让我想知道哪种方法最有效,为什么。对我来说,JavaScript方法可以确保在对导航栏进行更改时不需要单独更新每个页面。但是,使用JavaScript是否有任何负面影响(除了在broswer中禁用JavaScript的可能性)?使用服务器端脚本(如PHP),您也可以将其包含在每个页面中,而无需花费太多

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

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

使用服务器端脚本(如PHP),您也可以将其包含在每个页面中,而无需花费太多精力

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

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


所以:尽可能多的带有真实链接的“普通”HTML。添加脚本以增强用户体验。

如果不使用服务器端代码来包含脚本,则可以将其添加到每个页面,而无需在多个位置对其进行编辑。JS disabled意味着没有导航。Javascript可以在浏览器中被禁用(就像我对大多数网站的禁用一样),因此会破坏主导航。对于像主导航一样重要的内容,您可能希望在不使用javascript的情况下呈现它。然后,你可以在加载后使用javascript来影响主导航。此外,它可能会影响。如果你可以在html中这样做,并且你不需要菜单中的任何JS功能,我会让它保持简单。你应该同时使用这两种功能,因为依赖一种功能会带来很多潜在的缺点。也就是说,如果没有js,谁会在乎这些页面在没有js的情况下做不到任何好事。除非是小册子网站,否则js对于良好的用户体验非常重要。如果用户在浏览器中禁用JavaScript,下拉菜单系统会怎么样?这就是使用站点地图的地方吗?您可以在不使用JavaScript的情况下创建下拉菜单,或者使用JavaScript将其转换为下拉菜单。这就是我所说的增强用户体验。另一方面,如果一个元素在没有JavaScript的情况下根本无法工作,那么它在没有JavaScript的情况下就不应该可见。